[14:50:06] Starting FreeBSD AMD64 lib32 VM(B …waiting for SSH on 56010 (10s elapsed) ready [14:50:27] FreeBSD AMD64 lib32 VM running on port 56010(B [14:50:27] Compiling vm32 on FreeBSD i386 chroot (gcc)(B Warning: Permanently added '[localhost]:56010' (ED25519) to the list of known hosts. > sudo chroot /compat/i386 /bin/sh -c "cd /tmp/self-build && cmake -S vm -B build -DCMAKE_BUILD_TYPE=Release -DSELF_QUARTZ=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ && cmake --build build -j$(sysctl -n hw.ncpu)" You can limit the depth of the displayed datasets in the "zfs list" output using the -d parameter. To display only the first level of datasets below mypool/usr and not the ones deeper than those, run this command: zfs list -d 1 mypool/usr -- Benedict Reuschling -- The C compiler identification is GNU 14.2.0 -- The CXX compiler identification is GNU 14.2.0 -- The ASM compiler identification is GNU -- Found assembler: /usr/local/bin/gcc -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/local/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/local/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Preparing for FreeBSD on i386 -- Preparing Self VM 2023.1.13 (build ) -- Using X11 plaform windows. -- _flags = -m32;-mpreferred-stack-boundary=4;-Winvalid-pch;-fvisibility=default;-fno-delete-null-pointer-checks;-fno-exceptions;-fno-omit-frame-pointer;-fno-stack-protector;-fno-strict-aliasing;-fno-threadsafe-statics;-Wabi=11;-Wall;-Wextra;-Wno-sign-compare;-Wno-strict-aliasing;-Wno-switch;-Wno-unused-parameter;-Wno-unused-variable;-Wno-delete-non-virtual-dtor;-Wno-ignored-qualifiers;-Wno-implicit-fallthrough;-Wno-maybe-uninitialized;-Wno-misleading-indentation;-Wno-nonnull;-Wno-unused-but-set-variable -- _defines = -DDEBUG;-DGLUE_CHECKSUM=0;-DINTERFACE_PRAGMAS;-DXLIB;-DFAST_COMPILER;-DSIC_COMPILER;-DNATIVE_ARCH=i386;-DDYNLINK_SUPPORTED;-DCOMPILER=GCC_COMPILER;-DTARGET_OS_VERSION=FREEBSD_VERSION;-DTARGET_OS_FAMILY=UNIX_FAMILY;-DTARGET_ARCH=I386_ARCH;-DHOST_ARCH=I386_ARCH;-DGENERATE_DEBUGGING_AIDS=0;-DSPEND_TIME_FOR_DEBUGGING_BY_DEFAULT=0;-DTARGET_IS_OPTIMIZED=1;-DTARGET_IS_PROFILED=0;-DTARGET_IS_FOR_DEBUGGING=0 -- Configuring for default Release -- Configuring done (6.7s) -- Generating done (0.6s) -- Build files have been written to: /tmp/self-build/build [ 0%] Building CXX object CMakeFiles/makeDeps.dir/build_support/makeDeps.cpp.o [ 1%] Creating /tmp/self-build/build/incls/vmDate.cpp [ 1%] Built target create_vmDate /tmp/self-build/vm/build_support/makeDeps.cpp: In member function 'void FileName::check_length()': /tmp/self-build/vm/build_support/makeDeps.cpp:398:22: warning: '%s' directive writing up to 1023 bytes into a region of size between 1 and 1024 [-Wformat-overflow=] 398 | sprintf( buf, "%s%s%s is too long; %d >= %d\n", | ^~ /tmp/self-build/vm/build_support/makeDeps.cpp:398:19: note: directive argument in the range [32, 2147483647] 398 | sprintf( buf, "%s%s%s is too long; %d >= %d\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/build_support/makeDeps.cpp:398:12: note: 'sprintf' output between 24 and 3101 bytes into a destination of size 1024 398 | sprintf( buf, "%s%s%s is too long; %d >= %d\n", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 399 | prefix, stem, s, len, lim); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/build_support/makeDeps.cpp: In member function 'void database::get(const char*)': /tmp/self-build/vm/build_support/makeDeps.cpp:802:37: warning: '%s' directive writing up to 1023 bytes into a region of size 1009 [-Wformat-overflow=] 802 | sprintf(err, "invalid line: \"%s\"\nerror position: line %ld\n", line, (long)lineNo); | ^~ ~~~~ /tmp/self-build/vm/build_support/makeDeps.cpp:802:20: note: directive argument in the range [1, 2147483647] 802 | sprintf(err, "invalid line: \"%s\"\nerror position: line %ld\n", line, (long)lineNo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/build_support/makeDeps.cpp:802:14: note: 'sprintf' output between 41 and 1073 bytes into a destination of size 1024 802 | sprintf(err, "invalid line: \"%s\"\nerror position: line %ld\n", line, (long)lineNo); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 2%] Linking CXX executable makeDeps [ 2%] Built target makeDeps [ 2%] Generating incls/_precompiled.hh New database: reading database: /tmp/self-build/build/includeDB computing closures writing individual include files creating unixPrims.cpp creating unixPrims.glue.cpp creating aCompiler.cpp creating aCompiler_i386.cpp creating aNode.cpp creating abstract_interpreter.cpp creating addrDesc.cpp creating addrDesc_i386.cpp creating ageTable.cpp creating allocZone_i386.S creating allocation.cpp creating asm.cpp creating asmPrims_i386.S creating asm_i386.cpp creating assignmentMap.cpp creating asyncMalloc.cpp creating basicBlock.cpp creating bitVector.cpp creating blist.cpp creating blockMap.cpp creating blockOop.cpp creating branchSet.cpp creating byteCodes.cpp creating byteVectorMap.cpp creating byteVectorOop.cpp creating cacheStub.cpp creating cacheStub_i386.cpp creating callgraph.cpp creating clist.cpp creating codeGen.cpp creating codeGen_i386.cpp creating codeLikeSlotsMap.cpp creating codeSlotsMap.cpp creating codeTable.cpp creating complexLookup.cpp creating conversion.cpp creating conversion_i386.cpp creating countPattern.cpp creating countPattern_i386.cpp creating countStub.cpp creating countStub_i386.cpp creating deadBlockNode_i386.cpp creating debug.cpp creating debugPrintable.cpp creating defUse.cpp creating deps.cpp creating diDesc.cpp creating diDesc_i386.cpp creating disasm.cpp creating disasm_i386.cpp creating dynLink.cpp creating enum_i386.S creating enumeration.cpp creating errorCodes.cpp creating errorCodes_unix.cpp creating eventlog.cpp creating exec.cpp creating expr.cpp creating fcompiler.cpp creating fcompiler_i386.cpp creating fctProxyMap.cpp creating fctProxyOop.cpp creating fields.cpp creating fields_i386.cpp creating files.cpp creating floatMap.cpp creating floatOop.cpp creating foreignOop.cpp creating fprofiler.cpp creating frame.cpp creating framePieces.cpp creating framePieces_i386.cpp creating frame_i386.cpp creating frame_format.cpp creating frame_format_i386.cpp creating frame_iterator.cpp creating frame_iterator_i386.cpp creating fscope.cpp creating genHelper.cpp creating genHelper_i386.cpp creating generation.cpp creating glue.cpp creating glueCheckSum.cpp creating glueDefs.cpp creating glueSupport.cpp creating hprofiler.cpp creating immediateMap.cpp creating init.cpp creating inlining.cpp creating interpreter.cpp creating interruptedCtx.cpp creating interruptedCtx_i386.cpp creating interruptedCtx_unix.cpp creating itimer.cpp creating itimer_unix.cpp creating key.cpp creating kinds.cpp creating label.cpp creating labelSet.cpp creating list.cpp creating longRegString.cpp creating longRegString_i386.cpp creating lprintf.cpp creating machineCache.cpp creating machineCache_unix.cpp creating map.cpp creating mapMap.cpp creating mapOop.cpp creating mapTable.cpp creating mapVtbls.cpp creating markMap.cpp creating markOop.cpp creating memOop.cpp creating mirrorMap.cpp creating mirrorOop.cpp creating miscPrims.cpp creating monitor.cpp creating monitorHooks.cpp creating monitorHooks_unix.cpp creating monitorPieces.cpp creating monitorPieces_unix.cpp creating monitorWindow.cpp creating nameDesc.cpp creating ncode.cpp creating nlrSupport.cpp creating nmethod.cpp creating nmethodScopes.cpp creating nmethod_i386.cpp creating nmln.cpp creating node.cpp creating nodeGen.cpp creating node_i386.cpp creating nprofiler.copygraph.cpp creating nprofiler.cpp creating oTable.cpp creating objVectorMap.cpp creating objVectorOop.cpp creating oop.cpp creating oopClosures.cpp creating oopsOop.cpp creating opc_i386.cpp creating opcode.cpp creating os.cpp creating os_unix.cpp creating parser.cpp creating pcDesc.cpp creating pinsn_i386.cpp creating platformWindow.cpp creating positionTable.cpp creating preg.cpp creating prim.cpp creating print.cpp creating process.cpp creating processMap.cpp creating processOop.cpp creating profilerMap.cpp creating profilerOop.cpp creating proxyMap.cpp creating proxyOop.cpp creating quartzPrims.cpp creating quartzWindow.cpp creating rSet.cpp creating recompile.cpp creating regAlloc.cpp creating registerLocator.cpp creating registerLocator_i386.cpp creating registerState.cpp creating registerState_i386.cpp creating registerString.cpp creating registerString_i386.cpp creating regs.cpp creating regs_i386.cpp creating require.cpp creating rscope.cpp creating runtime.cpp creating runtime_i386.cpp creating runtime_asm_gcc_i386.S creating scanner.cpp creating scopeDesc.cpp creating scopeDescRecorder.cpp creating search.cpp creating search_i386.cpp creating selfMonitor.cpp creating send.cpp creating sendDesc.cpp creating sendDesc_i386.cpp creating shell.cpp creating sic.cpp creating sicExpr.cpp creating sicInline.cpp creating sicPrimline.cpp creating sicScope.cpp creating sicSplit.cpp creating sic_i386.cpp creating sig.cpp creating sig_unix.cpp creating signalBlocker_unix.cpp creating simpleLookup.cpp creating slist.cpp creating slot.cpp creating slotDesc.cpp creating slotIterator.cpp creating slotList.cpp creating slotRef.cpp creating slotType.cpp creating slotsMap.cpp creating slotsMapDeps.cpp creating slotsOop.cpp creating smiMap.cpp creating smiOop.cpp creating space.cpp creating spaceSize.cpp creating stack.cpp creating stacking_interpreter.cpp creating str.cpp creating stringMap.cpp creating stringOop.cpp creating stringTable.cpp creating stringUtil.cpp creating stubs_i386.cpp creating table.cpp creating target.cpp creating timer.cpp creating timer_unix.cpp creating tracing.cpp creating trapdoors.cpp creating trapdoors_i386.cpp creating uncommonBranch.cpp creating uncommonBranch_i386.cpp creating universe.cpp creating universe.more.cpp creating util.cpp creating vframe.cpp creating vframeMap.cpp creating vframeOop.cpp creating vframe_i386.cpp creating vmStrings.cpp creating xlibPrims.cpp creating xlibWindow.cpp creating zone.cpp creating zoneHeap.cpp writing grand include file writing dependencies file [ 2%] Generating incls/_precompiled.hh.gch [ 2%] Building ASM object CMakeFiles/Self.dir/src/i386/prims/asmPrims_i386.S.o [ 2%] Building ASM object CMakeFiles/Self.dir/src/i386/runtime/runtime_asm_gcc_i386.S.o [ 2%] Building ASM object CMakeFiles/Self.dir/src/i386/zone/allocZone_i386.S.o [ 3%] Building CXX object CMakeFiles/Self.dir/src/any/asm/asm.cpp.o [ 3%] Building CXX object CMakeFiles/Self.dir/src/any/asm/disasm.cpp.o [ 4%] Building CXX object CMakeFiles/Self.dir/src/any/asm/fields.cpp.o [ 4%] Building CXX object CMakeFiles/Self.dir/src/any/asm/label.cpp.o [ 4%] Building CXX object CMakeFiles/Self.dir/src/any/asm/nameDesc.cpp.o [ 5%] Building CXX object CMakeFiles/Self.dir/src/any/asm/pcDesc.cpp.o [ 5%] Building CXX object CMakeFiles/Self.dir/src/any/asm/regs.cpp.o [ 6%] Building CXX object CMakeFiles/Self.dir/src/any/asm/scopeDesc.cpp.o [ 6%] Building CXX object CMakeFiles/Self.dir/src/any/fast_compiler/blist.cpp.o [ 6%] Building CXX object CMakeFiles/Self.dir/src/any/fast_compiler/codeGen.cpp.o [ 7%] Building CXX object CMakeFiles/Self.dir/src/any/fast_compiler/fcompiler.cpp.o [ 7%] Building CXX object CMakeFiles/Self.dir/src/any/fast_compiler/fscope.cpp.o [ 8%] Building CXX object CMakeFiles/Self.dir/src/any/fast_compiler/registerState.cpp.o [ 8%] Building CXX object CMakeFiles/Self.dir/src/any/fast_compiler/registerString.cpp.o [ 8%] Building CXX object CMakeFiles/Self.dir/src/any/interpreter/abstract_interpreter.cpp.o [ 9%] Building CXX object CMakeFiles/Self.dir/src/any/interpreter/interpreter.cpp.o [ 9%] Building CXX object CMakeFiles/Self.dir/src/any/interpreter/stacking_interpreter.cpp.o [ 10%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/cacheStub.cpp.o [ 10%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/complexLookup.cpp.o [ 10%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/deps.cpp.o [ 11%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/diDesc.cpp.o [ 11%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/key.cpp.o [ 12%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/sendDesc.cpp.o [ 12%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/simpleLookup.cpp.o [ 13%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/slotRef.cpp.o [ 13%] Building CXX object CMakeFiles/Self.dir/src/any/lookup/target.cpp.o [ 13%] Building CXX object CMakeFiles/Self.dir/src/any/memory/ageTable.cpp.o [ 14%] Building CXX object CMakeFiles/Self.dir/src/any/memory/enumeration.cpp.o [ 14%] Building CXX object CMakeFiles/Self.dir/src/any/memory/generation.cpp.o [ 15%] Building CXX object CMakeFiles/Self.dir/src/any/memory/mapTable.cpp.o [ 15%] Building CXX object CMakeFiles/Self.dir/src/any/memory/mapVtbls.cpp.o [ 15%] Building CXX object CMakeFiles/Self.dir/src/any/memory/oopClosures.cpp.o [ 16%] Building CXX object CMakeFiles/Self.dir/src/any/memory/oTable.cpp.o [ 16%] Building CXX object CMakeFiles/Self.dir/src/any/memory/rSet.cpp.o [ 17%] Building CXX object CMakeFiles/Self.dir/src/any/memory/search.cpp.o [ 17%] Building CXX object CMakeFiles/Self.dir/src/any/memory/slotIterator.cpp.o [ 17%] Building CXX object CMakeFiles/Self.dir/src/any/memory/slotList.cpp.o [ 18%] Building CXX object CMakeFiles/Self.dir/src/any/memory/space.cpp.o [ 18%] Building CXX object CMakeFiles/Self.dir/src/any/memory/spaceSize.cpp.o [ 19%] Building CXX object CMakeFiles/Self.dir/src/any/memory/stringTable.cpp.o [ 19%] Building CXX object CMakeFiles/Self.dir/src/any/memory/universe.cpp.o [ 19%] Building CXX object CMakeFiles/Self.dir/src/any/memory/universe.more.cpp.o [ 20%] Building CXX object CMakeFiles/Self.dir/src/any/memory/vmStrings.cpp.o [ 20%] Building CXX object CMakeFiles/Self.dir/src/any/objects/assignmentMap.cpp.o [ 21%] Building CXX object CMakeFiles/Self.dir/src/any/objects/blockMap.cpp.o [ 21%] Building CXX object CMakeFiles/Self.dir/src/any/objects/blockOop.cpp.o [ 22%] Building CXX object CMakeFiles/Self.dir/src/any/objects/byteVectorMap.cpp.o [ 22%] Building CXX object CMakeFiles/Self.dir/src/any/objects/byteVectorOop.cpp.o [ 22%] Building CXX object CMakeFiles/Self.dir/src/any/objects/codeLikeSlotsMap.cpp.o [ 23%] Building CXX object CMakeFiles/Self.dir/src/any/objects/codeSlotsMap.cpp.o [ 23%] Building CXX object CMakeFiles/Self.dir/src/any/objects/fctProxyMap.cpp.o [ 24%] Building CXX object CMakeFiles/Self.dir/src/any/objects/fctProxyOop.cpp.o [ 24%] Building CXX object CMakeFiles/Self.dir/src/any/objects/floatMap.cpp.o [ 24%] Building CXX object CMakeFiles/Self.dir/src/any/objects/floatOop.cpp.o [ 25%] Building CXX object CMakeFiles/Self.dir/src/any/objects/foreignOop.cpp.o [ 25%] Building CXX object CMakeFiles/Self.dir/src/any/objects/immediateMap.cpp.o [ 26%] Building CXX object CMakeFiles/Self.dir/src/any/objects/map.cpp.o [ 26%] Building CXX object CMakeFiles/Self.dir/src/any/objects/mapMap.cpp.o [ 26%] Building CXX object CMakeFiles/Self.dir/src/any/objects/mapOop.cpp.o [ 27%] Building CXX object CMakeFiles/Self.dir/src/any/objects/markMap.cpp.o [ 27%] Building CXX object CMakeFiles/Self.dir/src/any/objects/markOop.cpp.o [ 28%] Building CXX object CMakeFiles/Self.dir/src/any/objects/memOop.cpp.o [ 28%] Building CXX object CMakeFiles/Self.dir/src/any/objects/mirrorMap.cpp.o [ 28%] Building CXX object CMakeFiles/Self.dir/src/any/objects/mirrorOop.cpp.o [ 29%] Building CXX object CMakeFiles/Self.dir/src/any/objects/objVectorMap.cpp.o [ 29%] Building CXX object CMakeFiles/Self.dir/src/any/objects/objVectorOop.cpp.o [ 30%] Building CXX object CMakeFiles/Self.dir/src/any/objects/oop.cpp.o /tmp/self-build/vm/src/any/objects/oop.cpp: In function 'void print_option_primitives(bool)': /tmp/self-build/vm/src/any/objects/oop.cpp:259:20: warning: comparison with string literal results in unspecified behavior [-Waddress] 259 | ? ( flagName != initialValue ) \ /tmp/self-build/vm/src/any/runtime/debug.hh:130:5: note: in expansion of macro 'ListPrimName' 130 | template(DirPath, const char*, "", StringPrimType, "", \ | ^~~~~~~~ /tmp/self-build/vm/src/any/runtime/debug.hh:189:5: note: in expansion of macro 'FOR_ALL_MISC_DEBUG_PRIMS' 189 | FOR_ALL_MISC_DEBUG_PRIMS(template) | ^~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/objects/oop.cpp:267:3: note: in expansion of macro 'FOR_ALL_DEBUG_PRIMS' 267 | FOR_ALL_DEBUG_PRIMS(ListPrimName) | ^~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/objects/oop.cpp:259:20: warning: comparison with string literal results in unspecified behavior [-Waddress] 259 | ? ( flagName != initialValue ) \ /tmp/self-build/vm/src/any/runtime/debug.hh:136:5: note: in expansion of macro 'ListPrimName' 136 | template(SpyDisplay, const char*, "", StringPrimType, \ | ^~~~~~~~ /tmp/self-build/vm/src/any/runtime/debug.hh:189:5: note: in expansion of macro 'FOR_ALL_MISC_DEBUG_PRIMS' 189 | FOR_ALL_MISC_DEBUG_PRIMS(template) | ^~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/objects/oop.cpp:267:3: note: in expansion of macro 'FOR_ALL_DEBUG_PRIMS' 267 | FOR_ALL_DEBUG_PRIMS(ListPrimName) | ^~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/objects/oop.cpp:259:20: warning: comparison with string literal results in unspecified behavior [-Waddress] 259 | ? ( flagName != initialValue ) \ /tmp/self-build/vm/src/any/runtime/debug.hh:141:5: note: in expansion of macro 'ListPrimName' 141 | template(SpyFont, const char*, "", StringPrimType, "", \ | ^~~~~~~~ /tmp/self-build/vm/src/any/runtime/debug.hh:189:5: note: in expansion of macro 'FOR_ALL_MISC_DEBUG_PRIMS' 189 | FOR_ALL_MISC_DEBUG_PRIMS(template) | ^~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/objects/oop.cpp:267:3: note: in expansion of macro 'FOR_ALL_DEBUG_PRIMS' 267 | FOR_ALL_DEBUG_PRIMS(ListPrimName) | ^~~~~~~~~~~~~~~~~~~ [ 30%] Building CXX object CMakeFiles/Self.dir/src/any/objects/oopsOop.cpp.o [ 30%] Building CXX object CMakeFiles/Self.dir/src/any/objects/processMap.cpp.o [ 31%] Building CXX object CMakeFiles/Self.dir/src/any/objects/processOop.cpp.o [ 31%] Building CXX object CMakeFiles/Self.dir/src/any/objects/profilerMap.cpp.o [ 32%] Building CXX object CMakeFiles/Self.dir/src/any/objects/profilerOop.cpp.o [ 32%] Building CXX object CMakeFiles/Self.dir/src/any/objects/proxyMap.cpp.o [ 33%] Building CXX object CMakeFiles/Self.dir/src/any/objects/proxyOop.cpp.o [ 33%] Building CXX object CMakeFiles/Self.dir/src/any/objects/slotDesc.cpp.o [ 33%] Building CXX object CMakeFiles/Self.dir/src/any/objects/slotsMap.cpp.o [ 34%] Building CXX object CMakeFiles/Self.dir/src/any/objects/slotsMapDeps.cpp.o [ 34%] Building CXX object CMakeFiles/Self.dir/src/any/objects/slotsOop.cpp.o [ 35%] Building CXX object CMakeFiles/Self.dir/src/any/objects/slotType.cpp.o [ 35%] Building CXX object CMakeFiles/Self.dir/src/any/objects/smiMap.cpp.o [ 35%] Building CXX object CMakeFiles/Self.dir/src/any/objects/smiOop.cpp.o [ 36%] Building CXX object CMakeFiles/Self.dir/src/any/objects/stringMap.cpp.o [ 36%] Building CXX object CMakeFiles/Self.dir/src/any/objects/stringOop.cpp.o [ 37%] Building CXX object CMakeFiles/Self.dir/src/any/objects/vframeMap.cpp.o [ 37%] Building CXX object CMakeFiles/Self.dir/src/any/objects/vframeOop.cpp.o [ 37%] Building CXX object CMakeFiles/Self.dir/src/any/os/errorCodes.cpp.o [ 38%] Building CXX object CMakeFiles/Self.dir/src/any/os/itimer.cpp.o [ 38%] Building CXX object CMakeFiles/Self.dir/src/any/os/monitorWindow.cpp.o [ 39%] Building CXX object CMakeFiles/Self.dir/src/any/os/os.cpp.o [ 39%] Building CXX object CMakeFiles/Self.dir/src/any/os/platformWindow.cpp.o /tmp/self-build/vm/src/any/os/os.cpp: In static member function 'static char* OS::expand_unix_dir(const char*, char*)': /tmp/self-build/vm/src/any/os/os.cpp:70:22: warning: '' exceeds ' directive writing 10 bytes into a region of size between 0 and 1073 [-Wformat-overflow=] 70 | sprintf(err, "'%s' exceeds %ld in length", | ^~~~~~~~~~ In static member function 'static bool OS::expand_user_name(const char*, const char*, char*&)', inlined from 'static char* OS::expand_unix_dir(const char*, char*)' at /tmp/self-build/vm/src/any/os/os.cpp:45:29: /tmp/self-build/vm/src/any/os/os.cpp:70:12: note: 'sprintf' output between 24 and 1097 bytes into a destination of size 1074 70 | sprintf(err, "'%s' exceeds %ld in length", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | buf, long(sizeof(user) - 1)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/os/os.cpp: In static member function 'static char* OS::expand_unix_dir(const char*, char*)': /tmp/self-build/vm/src/any/os/os.cpp:27:22: warning: '%s' directive writing between 1024 and 2147483645 bytes into a region of size 1073 [-Wformat-overflow=] 27 | sprintf(err, "'%s' exceeds %d chars in length", in, max_path_length); | ^~ /tmp/self-build/vm/src/any/os/os.cpp:27:14: note: 'sprintf' output between 1056 and 2147483677 bytes into a destination of size 1074 27 | sprintf(err, "'%s' exceeds %d chars in length", in, max_path_length); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/os/os.cpp: In static member function 'static bool OS::expand_user_name(const char*, const char*, char*&)': /tmp/self-build/vm/src/any/os/os.cpp:70:22: warning: '' exceeds ' directive writing 10 bytes into a region of size between 0 and 1073 [-Wformat-overflow=] 70 | sprintf(err, "'%s' exceeds %ld in length", | ^~~~~~~~~~ /tmp/self-build/vm/src/any/os/os.cpp:70:12: note: 'sprintf' output between 24 and 1097 bytes into a destination of size 1074 70 | sprintf(err, "'%s' exceeds %ld in length", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | buf, long(sizeof(user) - 1)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/os/os.cpp: In static member function 'static char* OS::ExpandDir_prim(const char*, void*)': /tmp/self-build/vm/src/any/os/os.cpp:70:22: warning: '' exceeds ' directive writing 10 bytes into a region of size between 0 and 1073 [-Wformat-overflow=] 70 | sprintf(err, "'%s' exceeds %ld in length", | ^~~~~~~~~~ In static member function 'static bool OS::expand_user_name(const char*, const char*, char*&)', inlined from 'static char* OS::expand_unix_dir(const char*, char*)' at /tmp/self-build/vm/src/any/os/os.cpp:45:29, inlined from 'static char* OS::ExpandDir_prim(const char*, void*)' at /tmp/self-build/vm/src/any/os/os.cpp:220:34: /tmp/self-build/vm/src/any/os/os.cpp:70:12: note: 'sprintf' output between 24 and 1097 bytes into a destination of size 1074 70 | sprintf(err, "'%s' exceeds %ld in length", | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 71 | buf, long(sizeof(user) - 1)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/os/os.cpp: In static member function 'static char* OS::ExpandDir_prim(const char*, void*)': /tmp/self-build/vm/src/any/os/os.cpp:27:22: warning: '%s' directive writing between 1024 and 2147483645 bytes into a region of size 1073 [-Wformat-overflow=] 27 | sprintf(err, "'%s' exceeds %d chars in length", in, max_path_length); | ^~ In static member function 'static char* OS::expand_unix_dir(const char*, char*)', inlined from 'static char* OS::ExpandDir_prim(const char*, void*)' at /tmp/self-build/vm/src/any/os/os.cpp:220:34: /tmp/self-build/vm/src/any/os/os.cpp:27:14: note: 'sprintf' output between 1056 and 2147483677 bytes into a destination of size 1074 27 | sprintf(err, "'%s' exceeds %d chars in length", in, max_path_length); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 39%] Building CXX object CMakeFiles/Self.dir/src/any/os/sig.cpp.o [ 40%] Building CXX object CMakeFiles/Self.dir/src/any/os/timer.cpp.o [ 40%] Building CXX object CMakeFiles/Self.dir/src/any/parser/branchSet.cpp.o [ 41%] Building CXX object CMakeFiles/Self.dir/src/any/parser/byteCodes.cpp.o [ 41%] Building CXX object CMakeFiles/Self.dir/src/any/parser/expr.cpp.o [ 42%] Building CXX object CMakeFiles/Self.dir/src/any/parser/kinds.cpp.o [ 42%] Building CXX object CMakeFiles/Self.dir/src/any/parser/labelSet.cpp.o [ 42%] Building CXX object CMakeFiles/Self.dir/src/any/parser/list.cpp.o /tmp/self-build/vm/src/any/parser/labelSet.cpp: In member function 'int32 LabelSet::RecordLabelInfo(AbstractByteCode*, oop, int32, LabelOccurrence, int32)': /tmp/self-build/vm/src/any/parser/labelSet.cpp:60:18: warning: '%s' directive writing up to 1023 bytes into a region of size 1018 [-Wformat-overflow=] 60 | "Label %s is multiply defined at bytecodes %d and %d", | ^~ 61 | psb, | ~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp:59:16: note: 'sprintf' output between 48 and 1091 bytes into a destination of size 1024 59 | sprintf(buf, | ~~~~~~~^~~~~ 60 | "Label %s is multiply defined at bytecodes %d and %d", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 61 | psb, | ~~~~ 62 | li->bci, bci); | ~~~~~~~~~~~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp:47:22: warning: '%s' directive writing up to 1023 bytes into a region of size 1018 [-Wformat-overflow=] 47 | "Label %s has stack depth %d at bytecode %d, " | ^~ 48 | "but has differing stack depth %d at bytecode %d", 49 | psb, | ~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp:46:14: note: 'sprintf' output between 86 and 1149 bytes into a destination of size 1024 46 | sprintf(buf, | ~~~~~~~^~~~~ 47 | "Label %s has stack depth %d at bytecode %d, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | "but has differing stack depth %d at bytecode %d", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49 | psb, | ~~~~ 50 | li->stack_depth, li->bci, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | sd, bci); | ~~~~~~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp: In function 'int32 LabelSet::RecordLabelInfo(AbstractByteCode*, oop, int32, LabelOccurrence, int32)': /tmp/self-build/vm/src/any/parser/labelSet.cpp:47:22: warning: '%s' directive writing up to 1023 bytes into a region of size 1018 [-Wformat-overflow=] 47 | "Label %s has stack depth %d at bytecode %d, " | ^~ 48 | "but has differing stack depth %d at bytecode %d", 49 | psb, | ~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp:46:14: note: 'sprintf' output between 86 and 1149 bytes into a destination of size 1024 46 | sprintf(buf, | ~~~~~~~^~~~~ 47 | "Label %s has stack depth %d at bytecode %d, " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 | "but has differing stack depth %d at bytecode %d", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 49 | psb, | ~~~~ 50 | li->stack_depth, li->bci, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 51 | sd, bci); | ~~~~~~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp: In member function 'bool LabelSet::ResolveLabel(AbstractByteCode*, oop, objVectorOop, int32)': /tmp/self-build/vm/src/any/parser/labelSet.cpp:107:27: warning: '%s' directive writing up to 1023 bytes into a region of size 1018 [-Wformat-overflow=] 107 | sprintf(buf, "Label %s is undefined", psb); | ^~ ~~~ /tmp/self-build/vm/src/any/parser/labelSet.cpp:107:14: note: 'sprintf' output between 20 and 1043 bytes into a destination of size 1024 107 | sprintf(buf, "Label %s is undefined", psb); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 43%] Building CXX object CMakeFiles/Self.dir/src/any/parser/parser.cpp.o [ 43%] Building CXX object CMakeFiles/Self.dir/src/any/parser/positionTable.cpp.o [ 44%] Building CXX object CMakeFiles/Self.dir/src/any/parser/scanner.cpp.o [ 44%] Building CXX object CMakeFiles/Self.dir/src/any/parser/send.cpp.o [ 44%] Building CXX object CMakeFiles/Self.dir/src/any/parser/slot.cpp.o [ 45%] Building CXX object CMakeFiles/Self.dir/src/any/parser/str.cpp.o [ 45%] Building CXX object CMakeFiles/Self.dir/src/any/parser/stringUtil.cpp.o [ 46%] Building CXX object CMakeFiles/Self.dir/src/any/prims/dynLink.cpp.o [ 46%] Building CXX object CMakeFiles/Self.dir/src/any/prims/glue.cpp.o [ 46%] Building CXX object CMakeFiles/Self.dir/src/any/prims/glueCheckSum.cpp.o [ 47%] Building CXX object CMakeFiles/Self.dir/src/any/prims/glueDefs.cpp.o [ 47%] Building CXX object CMakeFiles/Self.dir/src/any/prims/glueSupport.cpp.o [ 48%] Building CXX object CMakeFiles/Self.dir/src/any/prims/miscPrims.cpp.o [ 48%] Building CXX object CMakeFiles/Self.dir/src/any/prims/prim.cpp.o [ 48%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/aCompiler.cpp.o In file included from /tmp/self-build/build/incls/_prim_table_arch_pd.hh.incl:1, from /tmp/self-build/vm/src/any/prims/prim_table_arch.hh:7, from /tmp/self-build/vm/src/any/prims/prim.cpp:2402: /tmp/self-build/vm/src/i386/prims/prim_table_arch_i386.hh:8:19: warning: cast between incompatible function types from 'void (*)(pc_t)' {aka 'void (*)(char*)'} to 'fntype' {aka 'oopClass* (*)(...)'} [-Wcast-function-type] 8 | "NonLifoAbort", fntype(&NLRSupport::non_lifo_abort), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 49%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/allocation.cpp.o [ 49%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/asyncMalloc.cpp.o [ 50%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/callgraph.cpp.o [ 50%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/clist.cpp.o [ 50%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/conversion.cpp.o [ 51%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/debug.cpp.o [ 51%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/debugPrintable.cpp.o [ 52%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/eventlog.cpp.o [ 52%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/files.cpp.o [ 53%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/frame.cpp.o [ 53%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/frame_format.cpp.o [ 53%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/frame_iterator.cpp.o [ 54%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/framePieces.cpp.o [ 54%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/hprofiler.cpp.o [ 55%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/init.cpp.o [ 55%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/interruptedCtx.cpp.o [ 55%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/lprintf.cpp.o [ 56%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/machineCache.cpp.o [ 56%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/monitor.cpp.o [ 57%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/monitorHooks.cpp.o [ 57%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/monitorPieces.cpp.o [ 57%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/nlrSupport.cpp.o [ 58%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/nprofiler.copygraph.cpp.o [ 58%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/nprofiler.cpp.o [ 59%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/print.cpp.o [ 59%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/process.cpp.o [ 59%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/recompile.cpp.o [ 60%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/registerLocator.cpp.o [ 60%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/runtime.cpp.o [ 61%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/selfMonitor.cpp.o [ 61%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/shell.cpp.o [ 62%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/stack.cpp.o [ 62%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/table.cpp.o [ 62%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/uncommonBranch.cpp.o [ 63%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/util.cpp.o [ 63%] Building CXX object CMakeFiles/Self.dir/src/any/runtime/vframe.cpp.o [ 64%] Building CXX object CMakeFiles/Self.dir/src/any/sic/aNode.cpp.o [ 64%] Building CXX object CMakeFiles/Self.dir/src/any/sic/basicBlock.cpp.o [ 64%] Building CXX object CMakeFiles/Self.dir/src/any/sic/bitVector.cpp.o /tmp/self-build/vm/src/any/sic/basicBlock.cpp:191:15: warning: 'void duChecker(PRegBBIndex*)' defined but not used [-Wunused-function] 191 | static void duChecker(PRegBBIndex* p) { | ^~~~~~~~~ [ 65%] Building CXX object CMakeFiles/Self.dir/src/any/sic/defUse.cpp.o [ 65%] Building CXX object CMakeFiles/Self.dir/src/any/sic/genHelper.cpp.o [ 66%] Building CXX object CMakeFiles/Self.dir/src/any/sic/inlining.cpp.o [ 66%] Building CXX object CMakeFiles/Self.dir/src/any/sic/longRegString.cpp.o [ 66%] Building CXX object CMakeFiles/Self.dir/src/any/sic/node.cpp.o [ 67%] Building CXX object CMakeFiles/Self.dir/src/any/sic/nodeGen.cpp.o [ 67%] Building CXX object CMakeFiles/Self.dir/src/any/sic/opcode.cpp.o [ 68%] Building CXX object CMakeFiles/Self.dir/src/any/sic/preg.cpp.o [ 68%] Building CXX object CMakeFiles/Self.dir/src/any/sic/regAlloc.cpp.o [ 68%] Building CXX object CMakeFiles/Self.dir/src/any/sic/rscope.cpp.o [ 69%] Building CXX object CMakeFiles/Self.dir/src/any/sic/sic.cpp.o [ 69%] Building CXX object CMakeFiles/Self.dir/src/any/sic/sicExpr.cpp.o [ 70%] Building CXX object CMakeFiles/Self.dir/src/any/sic/sicInline.cpp.o [ 70%] Building CXX object CMakeFiles/Self.dir/src/any/sic/sicPrimline.cpp.o [ 70%] Building CXX object CMakeFiles/Self.dir/src/any/sic/sicScope.cpp.o [ 71%] Building CXX object CMakeFiles/Self.dir/src/any/sic/sicSplit.cpp.o [ 71%] Building CXX object CMakeFiles/Self.dir/src/any/sic/slist.cpp.o [ 72%] Building CXX object CMakeFiles/Self.dir/src/any/sic/tracing.cpp.o [ 72%] Building CXX object CMakeFiles/Self.dir/src/any/zone/addrDesc.cpp.o [ 73%] Building CXX object CMakeFiles/Self.dir/src/any/zone/codeTable.cpp.o [ 73%] Building CXX object CMakeFiles/Self.dir/src/any/zone/countPattern.cpp.o [ 73%] Building CXX object CMakeFiles/Self.dir/src/any/zone/countStub.cpp.o [ 74%] Building CXX object CMakeFiles/Self.dir/src/any/zone/fprofiler.cpp.o [ 74%] Building CXX object CMakeFiles/Self.dir/src/any/zone/ncode.cpp.o [ 75%] Building CXX object CMakeFiles/Self.dir/src/any/zone/nmethod.cpp.o [ 75%] Building CXX object CMakeFiles/Self.dir/src/any/zone/nmethodScopes.cpp.o [ 75%] Building CXX object CMakeFiles/Self.dir/src/any/zone/nmln.cpp.o [ 76%] Building CXX object CMakeFiles/Self.dir/src/any/zone/scopeDescRecorder.cpp.o [ 76%] Building CXX object CMakeFiles/Self.dir/src/any/zone/trapdoors.cpp.o [ 77%] Building CXX object CMakeFiles/Self.dir/src/any/zone/zone.cpp.o [ 77%] Building CXX object CMakeFiles/Self.dir/src/any/zone/zoneHeap.cpp.o [ 77%] Building CXX object CMakeFiles/Self.dir/src/i386/asm/asm_i386.cpp.o [ 78%] Building CXX object CMakeFiles/Self.dir/src/i386/asm/disasm_i386.cpp.o /tmp/self-build/vm/src/i386/asm/asm_i386.cpp: In member function 'void Assembler::addOffset(OperandType, bool, bool)': /tmp/self-build/vm/src/i386/asm/asm_i386.cpp:159:43: warning: enumerated and non-enumerated type in conditional expression [-Wextra] 159 | doAddOffset(t, isEmbedded, (isRelative ? addrDesc::isRelativeMask : 0)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 78%] Building CXX object CMakeFiles/Self.dir/src/i386/asm/fields_i386.cpp.o [ 79%] Building CXX object CMakeFiles/Self.dir/src/i386/asm/regs_i386.cpp.o [ 79%] Building CXX object CMakeFiles/Self.dir/src/i386/fast_compiler/codeGen_i386.cpp.o /tmp/self-build/vm/src/i386/fast_compiler/codeGen_i386.cpp: In member function 'void CodeGen::nonLifoTrap(RegisterState*)': /tmp/self-build/vm/src/i386/fast_compiler/codeGen_i386.cpp:1030:24: warning: cast between incompatible function types from 'void (*)(pc_t)' {aka 'void (*)(char*)'} to 'fntype' {aka 'oopClass* (*)(...)'} [-Wcast-function-type] 1030 | fntype(&NLRSupport::non_lifo_abort), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 79%] Building CXX object CMakeFiles/Self.dir/src/i386/fast_compiler/fcompiler_i386.cpp.o [ 80%] Building CXX object CMakeFiles/Self.dir/src/i386/fast_compiler/registerState_i386.cpp.o [ 80%] Building CXX object CMakeFiles/Self.dir/src/i386/fast_compiler/registerString_i386.cpp.o [ 81%] Building CXX object CMakeFiles/Self.dir/src/i386/lookup/cacheStub_i386.cpp.o [ 81%] Building CXX object CMakeFiles/Self.dir/src/i386/lookup/diDesc_i386.cpp.o [ 82%] Building CXX object CMakeFiles/Self.dir/src/i386/lookup/sendDesc_i386.cpp.o [ 82%] Building CXX object CMakeFiles/Self.dir/src/i386/memory/search_i386.cpp.o [ 83%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/aCompiler_i386.cpp.o [ 83%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/conversion_i386.cpp.o [ 84%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/frame_format_i386.cpp.o [ 84%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/frame_i386.cpp.o [ 84%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/frame_iterator_i386.cpp.o /tmp/self-build/vm/src/i386/runtime/frame_i386.cpp:49: warning: ignoring '#pragma warn_unusedarg off' [-Wunknown-pragmas] 49 | # pragma warn_unusedarg off [ 85%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/framePieces_i386.cpp.o [ 85%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/interruptedCtx_i386.cpp.o [ 86%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/registerLocator_i386.cpp.o [ 86%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/runtime_i386.cpp.o [ 87%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/stubs_i386.cpp.o /tmp/self-build/vm/src/i386/runtime/stubs_i386.cpp:10: warning: ignoring '#pragma warn_unusedarg off' [-Wunknown-pragmas] 10 | # pragma warn_unusedarg off [ 87%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/uncommonBranch_i386.cpp.o [ 88%] Building CXX object CMakeFiles/Self.dir/src/i386/runtime/vframe_i386.cpp.o [ 88%] Building CXX object CMakeFiles/Self.dir/src/i386/sic/deadBlockNode_i386.cpp.o [ 88%] Building CXX object CMakeFiles/Self.dir/src/i386/sic/genHelper_i386.cpp.o /tmp/self-build/vm/src/i386/sic/deadBlockNode_i386.cpp: In function 'void initDeadBlockNode()': /tmp/self-build/vm/src/i386/sic/deadBlockNode_i386.cpp:17:31: warning: cast between incompatible function types from 'void (*)(pc_t)' {aka 'void (*)(char*)'} to 'fntype' {aka 'oopClass* (*)(...)'} [-Wcast-function-type] 17 | = getPrimDescOfFunction(fntype(&NLRSupport::non_lifo_abort), true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /tmp/self-build/build/incls/_precompiled.hh:136, from /tmp/self-build/build/incls/_deadBlockNode_i386.cpp.incl:1, from /tmp/self-build/vm/src/i386/sic/deadBlockNode_i386.cpp:9: /tmp/self-build/vm/src/any/sic/node.hh: At global scope: /tmp/self-build/vm/src/any/sic/node.hh:741:17: warning: inline function 'virtual void CallNode::makeUses(BB*)' used but never defined 741 | inline void makeUses(BB* bb); | ^~~~~~~~ /tmp/self-build/vm/src/any/sic/node.hh:743:17: warning: inline function 'virtual void CallNode::markAllocated(fint*, fint*)' used but never defined 743 | inline void markAllocated(fint* use_count, fint* def_count); | ^~~~~~~~~~~~~ [ 89%] Building CXX object CMakeFiles/Self.dir/src/i386/sic/longRegString_i386.cpp.o [ 89%] Building CXX object CMakeFiles/Self.dir/src/i386/sic/node_i386.cpp.o [ 90%] Building CXX object CMakeFiles/Self.dir/src/i386/sic/sic_i386.cpp.o [ 90%] Building CXX object CMakeFiles/Self.dir/src/i386/zone/addrDesc_i386.cpp.o [ 91%] Building CXX object CMakeFiles/Self.dir/src/i386/zone/countPattern_i386.cpp.o [ 91%] Building CXX object CMakeFiles/Self.dir/src/i386/zone/countStub_i386.cpp.o [ 92%] Building CXX object CMakeFiles/Self.dir/src/i386/zone/nmethod_i386.cpp.o [ 92%] Building CXX object CMakeFiles/Self.dir/src/i386/zone/trapdoors_i386.cpp.o [ 93%] Building CXX object CMakeFiles/Self.dir/src/unix/os/errorCodes_unix.cpp.o [ 93%] Building CXX object CMakeFiles/Self.dir/src/unix/os/itimer_unix.cpp.o [ 93%] Building CXX object CMakeFiles/Self.dir/src/unix/os/os_unix.cpp.o [ 94%] Building CXX object CMakeFiles/Self.dir/src/unix/os/sig_unix.cpp.o /tmp/self-build/vm/src/unix/os/os_unix.cpp: In static member function 'static void OS::core_dump()': /tmp/self-build/vm/src/unix/os/os_unix.cpp:431:44: warning: cast between incompatible function types from 'void (*)(int)' to 'Signal_Handler_t' {aka 'void (*)(int, siginfo_t*, ucontext_t*)'} [-Wcast-function-type] 431 | SignalInterface::install_signal(SIGABRT, Signal_Handler_t(SIG_DFL)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/unix/os/sig_unix.cpp: In static member function 'static void SignalInterface::initialize_platform(bool)': /tmp/self-build/vm/src/unix/os/sig_unix.cpp:87:34: warning: cast between incompatible function types from 'int32 (*)(int)' {aka 'int (*)(int)'} to 'Signal_Handler_t' {aka 'void (*)(int, siginfo_t*, ucontext_t*)'} [-Wcast-function-type] 87 | install_signal(SIGTSTP, Signal_Handler_t(ctrl_z_handler)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/unix/os/sig_unix.cpp:88:34: warning: cast between incompatible function types from 'int32 (*)(int)' {aka 'int (*)(int)'} to 'Signal_Handler_t' {aka 'void (*)(int, siginfo_t*, ucontext_t*)'} [-Wcast-function-type] 88 | install_signal(SIGCONT, Signal_Handler_t(ctrl_z_handler)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/self-build/vm/src/unix/os/sig_unix.cpp: In static member function 'static void SignalInterface::install_signal(int, Signal_Handler_t)': /tmp/self-build/vm/src/unix/os/sig_unix.cpp:155:23: warning: cast between incompatible function types from 'Signal_Handler_t' {aka 'void (*)(int, siginfo_t*, ucontext_t*)'} to 'void (*)(int)' [-Wcast-function-type] 155 | action.sa_handler = (void (*)(int))handler; | ^~~~~~~~~~~~~~~~~~~~~~ [ 94%] Building CXX object CMakeFiles/Self.dir/src/unix/os/signalBlocker_unix.cpp.o [ 95%] Building CXX object CMakeFiles/Self.dir/src/unix/os/timer_unix.cpp.o [ 95%] Building CXX object CMakeFiles/Self.dir/src/unix/prims/unixPrims.cpp.o [ 95%] Building CXX object CMakeFiles/Self.dir/src/unix/prims/unixPrims.glue.cpp.o [ 96%] Building CXX object CMakeFiles/Self.dir/src/unix/runtime/interruptedCtx_unix.cpp.o [ 96%] Building CXX object CMakeFiles/Self.dir/src/unix/runtime/machineCache_unix.cpp.o [ 97%] Building CXX object CMakeFiles/Self.dir/src/unix/runtime/monitorHooks_unix.cpp.o [ 97%] Building CXX object CMakeFiles/Self.dir/src/unix/runtime/monitorPieces_unix.cpp.o [ 97%] Building CXX object CMakeFiles/Self.dir/src/any/os/xlibWindow.cpp.o [ 98%] Building CXX object CMakeFiles/Self.dir/src/unix/prims/xlibPrims.cpp.o [ 98%] Building CXX object CMakeFiles/Self.dir/tmp/self-build/objects/glue/stat_glue.cpp.o [ 99%] Building CXX object CMakeFiles/Self.dir/tmp/self-build/objects/glue/termcap_glue.cpp.o [ 99%] Building CXX object CMakeFiles/Self.dir/tmp/self-build/objects/glue/transcendental_glue.cpp.o [ 99%] Building CXX object CMakeFiles/Self.dir/tmp/self-build/objects/glue/xlib_glue.cpp.o [100%] Building CXX object CMakeFiles/Self.dir/incls/vmDate.cpp.o [100%] Linking CXX executable Self /usr/local/bin/ld: warning: CMakeFiles/Self.dir/src/i386/zone/allocZone_i386.S.o: missing .note.GNU-stack section implies executable stack /usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker [100%] Built target Self > sudo chroot /compat/i386 /bin/sh -c "cd /tmp/self-build/objects && echo \"saveAs: 'auto.snap'. _Quit\" | ../build/Self -f worldBuilder.self -o morphic" If you write part of a filename in tcsh, pressing TAB will show you the available choices when there is more than one, or complete the filename if there's only one match. Self Virtual Machine Version 2023.1/13, Tue 07 Jul 26 04:50:41 FreeBSD i386 Copyright 1989-2016 AUTHORS (type _Credits for credits) for I386: LogVMMessages = true for I386: PrintScriptName = true for I386: Inline = true for I386: SICDeferUncommonBranches = false (not implemented) for I386: SICReplaceOnStack = false (not implemented) for I386: SaveOutgoingArgumentsOfPatchedFrames = true Reading worldBuilder.self... Building from base: . init file: ./core/init.self About to load basic world reading ./core/init.self... reading ./core/allCore.self... reading ./core/systemStructure.self... reading ./core/defaultBehavior.self... reading ./core/rootTraits.self... reading ./core/coreObjects.self... reading ./core/errorHandling.self... reading ./core/block.self... reading ./core/blockTests.self... reading ./core/nil.self... reading ./core/boolean.self... reading ./core/number.self... reading ./core/integer.self... reading ./core/integerIteration.self... reading ./core/smallInt.self... reading ./core/smallIntTests.self... reading ./core/float.self... reading ./core/collection.self... reading ./core/indexable.self... reading ./core/vector.self... reading ./core/sequence.self... reading ./core/sortedSequence.self... reading ./core/sending.self... reading ./core/list.self... reading ./core/sortedList.self... reading ./core/collector.self... reading ./core/string.self... reading ./core/stringTests.self... reading ./core/priorityQueue.self... reading ./core/tree.self... reading ./core/orderedSet.self... reading ./core/setAndDictionary.self... reading ./core/orderedDictionary.self... reading ./core/idSetAndDictionary.self... reading ./core/universalSetAndDictionary.self... reading ./core/customizableSetAndDictionary.self... reading ./core/annotation.self... reading ./core/moduleInfo.self... reading ./core/selector.self... reading ./core/message.self... reading ./core/time.self... reading ./core/pair.self... reading ./core/point.self... reading ./core/rectangle.self... reading ./core/oldStyleRectangle.self... reading ./core/visibility.self... reading ./core/mirror.self... reading ./core/metaCollections.self... reading ./core/mirrorProgramming.self... reading ./core/slot.self... reading ./core/snapshotAction.self... reading ./core/hosts.self... reading ./core/quartzHosts.self... reading ./core/caseStatement.self... reading ./core/generatedCases.self... reading ./core/systemOddballs.self... reading ./core/memoryState.self... reading ./core/bigInt.self... reading ./core/random.self... reading ./core/path.self... reading ./core/bytecodeFormat.self... reading ./core/profiling.self... reading ./core/profiler.self... reading ./core/shell.self... reading ./core/textLines.self... reading ./core/methodText.self... reading ./core/selectionText.self... reading ./core/activationText.self... reading ./core/fakeSlot.self... reading ./core/fakeSlotsIterator.self... reading ./core/absBCInterpreter.self... reading ./core/absBCBytecodes.self... reading ./core/selectorFinder.self... reading ./core/methodDisassembler.self... reading ./core/branchTargetFinder.self... reading ./core/leafMethodTester.self... reading ./core/localAccessFinder.self... reading ./core/stackSizeInterp.self... reading ./core/streams.self... reading ./core/processesAndIO.self... reading ./core/ping.self... reading ./core/interceptor.self... reading ./core/serializer.self... reading ./core/processStack.self... reading ./core/processStatus.self... reading ./core/processErrors.self... reading ./core/process.self... reading ./core/semaphore.self... reading ./core/barrier.self... reading ./core/scheduler.self... reading ./core/sharedSetAndDictionary.self... reading ./core/foreign.self... reading ./core/all_OS.self... reading ./core/abstract_OS.self... reading ./core/unix.self... reading ./glue/unixPrims_wrappers.self... reading ./core/unix_stdin.self... reading ./core/fileStream.self... reading ./core/stdin.self... reading ./core/stat.self... reading ./glue/stat_wrappers.self... reading ./core/sharedQueue.self... reading ./core/monitor.self... reading ./core/lock.self... reading ./core/channel.self... reading ./core/programmingSupport.self... reading ./core/inspect.self... reading ./core/enumerating.self... reading ./core/browsing.self... reading ./core/history.self... reading ./core/transporter.self... reading ./core/objectScanner.self... reading ./core/transporterFiles.self... reading ./core/bootstrapFile.self... reading ./core/bufferedBootstrapFile.self... reading ./core/beamOut.self... reading ./core/beamIn.self... reading ./core/fastTransporter.self... reading ./core/chain.self... reading ./core/fileOut.self... reading ./core/module.self... reading ./core/annotator.self... reading ./core/incrementalSaving.self... reading ./core/programmingLog.self... reading ./core/diff.self... reading ./core/primitives.self... reading ./core/shortcuts.self... reading ./glue/transcendental_wrappers.self... reading ./core/ttySupport.self... reading ./core/termcap.self... reading ./glue/termcap_wrappers.self... reading ./core/tty.self... reading ./core/defaultPreferences.self... reading ./core/debugger.self... reading ./core/coreUserProfile.self... reading ./core/prompt.self... reading ./core/int32and64.self... reading ./core/systemLog.self... reading ./core/about.self... reading ./core/coreVersion.self... reading ./glue/primitiveMaker.self... reading ./tests/allTests.self... reading ./tests/tests.self... reading ./tests/programmingTests.self... reading ./tests/debugTests.self... reading ./tests/lowLevelTests.self... reading ./tests/numberTests.self... reading ./tests/deltablue.self... reading ./tests/sicTests.self... reading ./tests/branchTests.self... reading ./tests/nicTests.self... reading ./tests/testSuite.self... reading ./tests/languageTests.self... reading ./tests/cons.self... reading ./tests/benchmarks.self... reading ./tests/richards.self... reading ./tests/parser.self... reading ./tests/parseNodes.self... Reading UI2 (Morphic) reading ./graphics/allGraphics.self... reading ./graphics/drawable.self... reading ./graphics/xlib.self... reading ./graphics/xDrawable.self... reading ./glue/xlib_wrappers.self... reading ./graphics/xft.self... reading ./glue/xft_wrappers.self... reading ./graphics/bitmap.self... reading ./graphics/drawing.self... reading ./graphics/movingBitmap.self... reading ./graphics/bitmapShape.self... reading ./graphics/movingShape.self... reading ./graphics/font.self... reading ./graphics/colormap.self... reading ./graphics/color.self... reading ./graphics/colorRange.self... reading ./graphics/pattern.self... reading ./graphics/eventWatcher.self... reading ./graphics/eventHandler.self... reading ./graphics/window.self... reading ./graphics/windoid.self... reading ./graphics/inBetweener.self... reading ./graphics/cursor.self... reading ./graphics/xBitmapMaker.self... reading ./graphics/xPixmapMaker.self... reading ./graphics/xIconMaker.self... reading ./graphics/spline.self... reading ./graphics/fontSpec.self... reading ./graphics/quartz.self... reading ./graphics/qDrawable.self... reading ./graphics/cgDirectDisplay.self... reading ./glue/quartz_wrappers.self... reading ./graphics/quartzForFF.self... reading ./graphics/quartzFont.self... reading ./graphics/quartzFontFamily.self... reading ./graphics/x11Globals.self... reading ./ui2/allUI2.self... reading ./ui2/sunRasterFile.self... reading ./ui2/paint.self... reading ./ui2/specialPaintManager.self... reading ./ui2/scalableFont.self... reading ./ui2/canvas.self... reading ./ui2/quartzCanvas.self... reading ./ui2/ui2Event.self... reading ./ui2/ui2ResultReporter.self... reading ./ui2/morphSaving.self... reading ./ui2/morph.self... reading ./ui2/activity.self... reading ./ui2/morphLib.self... reading ./ui2/handMorph.self... reading ./ui2/userProfile.self... reading ./ui2/capability.self... reading ./ui2/layoutMorphs.self... reading ./ui2/frameMorphs.self... reading ./ui2/simpleFrameMorph.self... reading ./ui2/arrowMorphs.self... reading ./ui2/ui2Button.self... reading ./ui2/ui2Menu.self... reading ./ui2/pointerMorph.self... reading ./ui2/pluggablePointerMorph.self... reading ./ui2/worldMorph.self... reading ./ui2/pixmapMorphs.self... reading ./ui2/widgetMorphs.self... reading ./ui2/tristateIndicator.self... reading ./ui2/propertySheets.self... reading ./ui2/metaMorph.self... reading ./ui2/editorMorphs.self... reading ./ui2/autoCompletion.self... reading ./ui2/userQueryMorph.self... reading ./ui2/buttonMorphs.self... reading ./ui2/colorWorld.self... reading ./ui2/trashCanMorph.self... reading ./ui2/carpetMorph.self... reading ./ui2/desktop.self... reading ./ui2/morphFinder.self... reading ./ui2/radarView.self... reading ./ui2/ui2test.self... reading ./ui2/coreSampler.self... reading ./ui2/idealGas.self... reading ./ui2/demoUtilities.self... reading ./ui2/factoryMorph.self... reading ./ui2/factory.self... reading ./ui2/snapshotOptionsMorph.self... reading ./ui2/macEvents.self... reading ./ui2/xEvents.self... reading ./ui2/operandSelectors.self... reading ./ui2/keyCaps.self... reading ./ui2/keyCapCombos.self... reading ./ui2/absAppMorph.self... reading ./ui2/testMorphs.self... reading ./ui2/qUI2Events.self... reading ./ui2/tempPaints.self... reading ./ui2/preferencesMenu.self... reading ./ui2/ui2Version.self... reading ./ui2/viewScrollMorph.self... reading ./ui2/stationMorph.self... reading ./ui2/expanderMorph.self... reading ./ui2/windowMorph.self... reading ./ui2/outliner/allOutliner.self... reading ./ui2/outliner/outlinerPreferences.self... reading ./ui2/outliner/larsText.self... reading ./ui2/outliner/motifWidgets.self... reading ./ui2/outliner/outlinerWidgets.self... reading ./ui2/outliner/complexButtonMorph.self... reading ./ui2/outliner/outliner.self... reading ./ui2/outliner/moduleWidgets.self... reading ./ui2/outliner/browseMorphs.self... reading ./ui2/outliner/syntaxErrorMorph.self... reading ./ui2/outliner/debuggerWidgets.self... reading ./ui2/outliner/allPluggableOutliner.self... reading ./ui2/outliner/generalModel.self... reading ./ui2/outliner/pluggableStyle.self... reading ./ui2/outliner/pluggableAnnoStyle.self... reading ./ui2/outliner/pluggableContentsStyle.self... reading ./ui2/outliner/pluggableTitleStyle.self... reading ./ui2/outliner/pluggableCommentStyle.self... reading ./ui2/outliner/pluggableEditStyle.self... reading ./ui2/outliner/generalLeafModel.self... reading ./ui2/outliner/generalSlotModel.self... reading ./ui2/outliner/pluggableModuleWidgets.self... reading ./ui2/outliner/pluggableOutliner.self... reading ./ui2/outliner/pluggableLeafOutliner.self... reading ./ui2/outliner/generalCategoryModel.self... reading ./ui2/outliner/pluggableDebugger.self... reading ./ui2/outliner/pluggableSlicer.self... reading ./ui2/outliner/sliceModel.self... reading ./ui2/outliner/sliceControlPanel.self... reading ./ui2/outliner/sliceReferrent.self... reading ./ui2/outliner/sliceGroupOutliner.self... reading ./ui2/outliner/sliceGroupModel.self... reading ./ui2/outliner/allSelfObjOutliner.self... reading ./ui2/outliner/selfGenSlotModel.self... reading ./ui2/outliner/selfSlotModel.self... reading ./ui2/outliner/selfPseudoSlotModel.self... reading ./ui2/outliner/slotModel.self... reading ./ui2/outliner/selfCatOrObjModel.self... reading ./ui2/outliner/selfCategoryModel.self... reading ./ui2/outliner/selfPCatModel.self... reading ./ui2/outliner/selfObjectModel.self... reading ./ui2/outliner/selfModuleSetter.self... reading ./ui2/outliner/moduleHolderModel.self... reading ./ui2/outliner/moduleModel.self... reading ./ui2/outliner/changedModulesModel.self... reading ./ui2/outliner/allModulesModel.self... reading ./ui2/outliner/selfDebugger.self... reading ./ui2/outliner/selfSlicer.self... reading ./ui2/outliner/selfSliceModel.self... reading ./ui2/outliner/selfSliceCP.self... reading ./ui2/outliner/selfSliceGroup.self... reading ./ui2/outliner/selfSliceRef.self... reading ./ui2/outliner/profileSlicer.self... reading ./ui2/outliner/profileSliceModel.self... reading ./ui2/outliner/profileSliceRef.self... reading ./ui2/outliner/profileSliceCP.self... reading ./ui2/outliner/profileSliceGrpOut.self... reading ./ui2/outliner/profileSliceGrpMod.self... reading ./ui2/outliner/profileSelfSlotMdl.self... reading ./ui2/outliner/powerOperations.self... UI1 (X11 Only) not chosen on command line verifying newgen: eden from to oldgen: old0 old1 z p r S v O m N M i done Starting: Refilling module cache... Finished: Refilling module cache [Tue Jul 07 05:15:55 2026] info -- Scheduler started (according to snapshotAction schedulerInitial) owner@[Unknown hostName] 0> Starting: Writing snapshot to auto.snap... Finished: Writing snapshot to auto.snap > sudo chroot /compat/i386 /bin/sh -c "cd /tmp/self-build && echo _Quit | build/Self -s objects/auto.snap" Time to change your password? Type "passwd" and follow the prompts. -- Dru for I386: LogVMMessages = true for I386: PrintScriptName = true for I386: Inline = true for I386: SICDeferUncommonBranches = false (not implemented) for I386: SICReplaceOnStack = false (not implemented) for I386: SaveOutgoingArgumentsOfPatchedFrames = true Welcome to the Self system! (2024.1/0) Copyright 1992-2026 AUTHORS. See the legal/LICENSE file for license information and legal/AUTHORS for authors. Type _Credits for full credits. [Tue Jul 07 05:15:59 2026] info -- Scheduler started (according to snapshotAction schedulerInitial) owner@[Unknown hostName] 1> > sudo chroot /compat/i386 /bin/sh -c "cd /tmp/self-build && build/Self -s objects/auto.snap --runAutomaticTests --headless" If you need to create a FAT32 formatted USB thumb drive, find out its devicename running dmesg(8) after inserting it. Then create an MBR schema, a single slice and format it: # gpart create -s MBR ${devicename} # gpart add -t fat32 ${devicename} # newfs_msdos -F 32 -L thumbdrive ${devicename}s1 -- Lars Engels for I386: LogVMMessages = true for I386: PrintScriptName = true for I386: Inline = true for I386: SICDeferUncommonBranches = false (not implemented) for I386: SICReplaceOnStack = false (not implemented) for I386: SaveOutgoingArgumentsOfPatchedFrames = true Welcome to the Self system! (2024.1/0) Copyright 1992-2026 AUTHORS. See the legal/LICENSE file for license information and legal/AUTHORS for authors. Type _Credits for full credits. [Tue Jul 07 05:16:00 2026] warn -- Command line argument `--headless' ignored [Tue Jul 07 05:16:01 2026] info -- Scheduler started (according to snapshotAction schedulerInitial) warning: should have found process <0> owner@[Unknown hostName] 1> Starting test suite ... verifying newgen: eden from to oldgen: old0 z p r S v O m N M i done Testing simple small integer arithmetic and failures... testing 10 factorial ... ok: 3628800 = 3628800 testing 3 power: 5 ... ok: 243 = 243 testing -2 power: 3 ... ok: -8 = -8 testing 0 power: 3 ... ok: 0 = 0 testing 5 power: 0 ... ok: 1 = 1 testing -5 power: 0 ... ok: 1 = 1 testing 0 _IntSub: minSmallInt IfFail: 17 ... ok: 17 = 17 Testing simple big integer arithmetic and failures... testing 25 factorial ... ok: 15511210043330985984000000 = 15511210043330985984000000 testing 3 power: 25 ... ok: 847288609443 = 847288609443 testing bigInt division ... ok: 403291461126605635584000000 = 403291461126605635584000000 testing bigInt printString ... ok: '15511210043330985984000000' = '15511210043330985984000000' testing 3.4 + 5 ... ok: 8.4 = 8.4 testing 0 asFloat = 0 ... ok: 0.0 = 0 testing 2 power: -3 ... ok: 0.125 = 0.125 testing -2 power: -3 ... ok: -0.125 = -0.125 Testing arithmetic simplifications... testing N + N ... ok: 6 = 6 testing N * N ... ok: 9 = 9 testing N + 0 ... ok: 3 = 3 testing 0 + N ... ok: 3 = 3 testing N - 0 ... ok: 3 = 3 testing 0 - N ... ok: -3 = -3 testing N * 0 ... ok: 0 = 0 testing 0 * N ... ok: 0 = 0 testing N * 1 ... ok: 3 = 3 testing 1 * N ... ok: 3 = 3 testing N * -1 ... ok: -3 = -3 testing -1 * N ... ok: -3 = -3 testing N * 2 ... ok: 6 = 6 testing 2 * N ... ok: 6 = 6 testing N * 1024 ... ok: 3072 = 3072 testing 1024 * N ... ok: 3072 = 3072 testing N / 1 ... ok: 3 = 3 testing 1 / N ... ok: 0 = 0 testing N && 0 ... ok: 0 = 0 testing 0 && N ... ok: 0 = 0 testing N || 0 ... ok: 3 = 3 testing 0 || N ... ok: 3 = 3 testing N ^^ 0 ... ok: 3 = 3 testing 0 ^^ N ... ok: 3 = 3 testing N <+ 0 ... ok: 3 = 3 testing 0 <+ N ... ok: 0 = 0 testing N << 0 ... ok: 3 = 3 testing 0 << N ... ok: 0 = 0 testing N +> 0 ... ok: 3 = 3 testing 0 +> N ... ok: 0 = 0 testing N >> 0 ... ok: 3 = 3 testing 0 >> N ... ok: 0 = 0 testing +N / +N ... ok: 2 = 2 testing -N / +N ... ok: 2 = 2 testing +N / -N ... ok: 2 = 2 testing -N / -N ... ok: 2 = 2 testing +N % +N ... ok: 2 = 2 testing -N % +N ... ok: 2 = 2 testing +N % -N ... ok: 2 = 2 testing -N % -N ... ok: 2 = 2 testing division by 1 ... ok: 1 = 1 testing division by 1 ... ok: 0 = 0 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -1 = -1 testing division borderlines ... ok: 0 = 0 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division with tags ... ok: -12 = -12 testing division with tags ... ok: -6 = -6 testing division with tags ... ok: -4 = -4 testing division with tags ... ok: -3 = -3 Testing list operations... running list copy ... value: a list running add: 2 ... value: a list(2) running add: -3.34 ... value: a list(2, -3.34) running addFirst: 1 ... value: a list(1, 2, -3.34) testing l copy = l ... ok: a list(1, 2, -3.34) = a list(1, 2, -3.34) Testing tree operations... running treeSet example ... a treeSet a treeSet(3) a treeSet(3, 5) a treeSet(3, 5) a treeSet(3, 5) true false a treeSet(3, 4, 5) a treeSet(3, 5) false 1 value: treeSet running treeBag example ... a treeBag a treeBag(3) a treeBag(3, 5) a treeBag(3, 3, 5) a treeBag(3, 5) true false a treeBag(3, 3, 4, 5) a treeBag(3, 5) false 1 value: treeBag Testing vector operations... testing vector copy & mapBy ... ok: a vector(25, 25, 25, 25, 25, 25, 25) = a vector(25, 25, 25, 25, 25, 25, 25) testing vector at: aBigInt ... ok: 'a potato' = 'a potato' testing byteVector at: aBigInt ... ok: 71 = 71 Testing string operations... testing 'asd' copyWithoutLast ... ok: 'as' = 'as' testing string concatenation ... ok: true = true testing '\t\n\r abc' leadingWhiteSpace ... ok: 4 = 4 testing if string hash is preserved across GC ... ok: true = true Testing textLines... testing 'asd\nqwe\n' asTextLines lines ... ok: a list(a mutableString, a mutableString, a mutableString) = a list('asd', 'qwe', '') Testing sequence operations... testing sequence copy ... ok: a sequence = sequence running add: 2 ... value: a sequence(2) running add: -3.34 ... value: a sequence(2, -3.34) running addFirst: 1 ... value: a sequence(1, 2, -3.34) testing s copy = s ... ok: a sequence(1, 2, -3.34) = a sequence(1, 2, -3.34) running remove: 2 ... value: a sequence(1, -3.34) running removeLast ... value: -3.34 running removeFirst ... value: 1 running copySize: 10 FillingWith: 'asd' ... value: a sequence(10 elements) running at: 3 Put: 4.5 ... value: a sequence(10 elements) testing at: 2 ... ok: 'asd' = 'asd' testing at: 3 ... ok: 4.5 = 4.5 running removeKey: 3 ... value: a sequence(9 elements) running removeKey: 0 ... value: a sequence(8 elements) running removeKey: s size pred ... value: a sequence('asd', 'asd', 'asd', 'asd', 'asd', 'asd', 'asd') running addFirst: 8 ... value: a sequence(8 elements) running addFirst: 7 ... value: a sequence(9 elements) running addFirst: 6 ... value: a sequence(10 elements) running addFirst: 5 ... value: a sequence(11 elements) running addFirst: 4 ... value: a sequence(12 elements) running addFirst: 3 ... value: a sequence(13 elements) running addFirst: 2 ... value: a sequence(14 elements) running addFirst: 1 ... value: a sequence(15 elements) running addLast: 1 ... value: a sequence(16 elements) running addLast: 2 ... value: a sequence(17 elements) running addLast: 3 ... value: a sequence(18 elements) running addLast: 4 ... value: a sequence(19 elements) running addLast: 5 ... value: a sequence(20 elements) running addLast: 6 ... value: a sequence(21 elements) running addLast: 7 ... value: a sequence(22 elements) running addLast: 8 ... value: a sequence(23 elements) running addLast: 9 ... value: a sequence(24 elements) running addLast: 10 ... value: a sequence(25 elements) running addLast: 11 ... value: a sequence(26 elements) running addLast: 12 ... value: a sequence(27 elements) testing sequence copy & mapBy ... ok: a sequence(25, 25, 25, 25, 25, 25, 25) = a sequence(25, 25, 25, 25, 25, 25, 25) running message interception and resending ... x - 1 -> 22 x = 23 -> true x == 23 -> true 23 == x -> false value: a sender running message interception and broadcasting ... 3abcvalue: a transmitter Testing the parser... running parser testXYZ ... xyzvalue: an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'xyz') running parser testOnePlusTwo ... 1 + 2value: an oldParser parseNodes binarySend(1, '+', 2) running parser testRandom ... 3 + nil "*" a<-:a: b + c d e B<-:B: "'asd'" size C<-:C: a<-:a: 3value: an oldParser parseNodes keywordSend(an oldParser parseNodes binarySend(3, '+', an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'nil')), 'a:B:C:', a list(an oldParser parseNodes binarySend, an oldParser parseNodes unarySend, an oldParser parseNodes keywordSend)) running parser testAddPoints ... (clone x<-:x: x + p x) y<-:y: y + p yvalue: an oldParser parseNodes keywordSend(an oldParser parseNodes methodObject(an oldParser parseNodes slotList, an oldParser parseNodes statements), 'y:', a list(an oldParser parseNodes binarySend)) Testing error handling... Provoking: undefinedSelector To debug in ui2, type: selfProcessModel debugProcess: 1 as to debug in console, type: attach: 1 to dump stack, type: 1 as printError. [Tue Jul 07 05:16:05 2026] error -- No 'birdAndFish' slot found in processErrors undefinedSelector. Provoking: ambiguousSelector To debug in ui2, type: selfProcessModel debugProcess: 2 as to debug in console, type: attach: 2 to dump stack, type: 2 as printError. [Tue Jul 07 05:16:05 2026] error -- More than one 'x' slot was found in a slots object. The matching slots are: a slots object and a slots object. Provoking: missingDelegatee To debug in ui2, type: selfProcessModel debugProcess: 3 as to debug in console, type: attach: 3 to dump stack, type: 3 as printError. Provoking: performTypeErrorSelector [Tue Jul 07 05:16:05 2026] error -- No 'fish' delegatee slot was found in a slots object. Sending method holder is a slots object. To debug in ui2, type: selfProcessModel debugProcess: 4 as to debug in console, type: attach: 4 to dump stack, type: 4 as printError. Provoking: mismatchedArgumentCountSelector [Tue Jul 07 05:16:05 2026] error -- The selector 12222 could not be sent to lobby because it is not a string. To debug in ui2, type: selfProcessModel debugProcess: 5 as to debug in console, type: attach: 5 to dump stack, type: 5 as printError. Provoking: primitiveFailed [Tue Jul 07 05:16:05 2026] error -- The selector 'add:' could not be sent to lobby because it does not take 2 arguments. To debug in ui2, type: selfProcessModel debugProcess: 6 as to debug in console, type: attach: 6 to dump stack, type: 6 as printError. Provoking: stackOverflow [Tue Jul 07 05:16:05 2026] error -- badTypeError: the '_IntAdd:' primitive failed. Its receiver was lobby. To debug in ui2, type: selfProcessModel debugProcess: 7 as to debug in console, type: attach: 7 to dump stack, type: 7 as printError. Provoking: nonLifoBlock [Tue Jul 07 05:16:05 2026] error -- The stack has grown too big. (Self 4.0 limits stack sizes, and cannot resume processes with stack overflows.) To debug in ui2, type: selfProcessModel debugProcess: 8 as to debug in console, type: attach: 8 to dump stack, type: 8 as printError. Provoking: userError [Tue Jul 07 05:16:05 2026] error -- Self 4.0 cannot run a block after its enclosing method has returned. (Self cannot resume this process, either.) To debug in ui2, type: selfProcessModel debugProcess: 9 as to debug in console, type: attach: 9 to dump stack, type: 9 as printError. Provoking: userErrorWithArguments [Tue Jul 07 05:16:05 2026] error -- Error: user error. Receiver is: lobby. To debug in ui2, type: selfProcessModel debugProcess: 10 as to debug in console, type: attach: 10 to dump stack, type: 10 as printError. Testing number functions .... (setting seed to 18965954). testing random generator ... Copy of random Copy of randomLC ok: 'ok' = 'ok' testing even/odd ... ok: 'ok' = 'ok' testing determ. isPrime ... ok: 'ok' = 'ok' testing nextPrime ... testing -111 nextPrime ... ok: 2 = 2 testing 1 nextPrime ... ok: 2 = 2 testing 4 nextPrime ... ok: 5 = 5 testing 65521 nextPrime ... ok: 65537 = 65537 testing first 15 primes ... ok: ' 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47' = ' 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47' ok: 'ok' = 'ok' testing factors ... [Tue Jul 07 05:16:05 2026] error -- Error: user error with argument. Receiver is: lobby. Argument is: lobby. ok: 'ok' = 'ok' testing gcd ... ok: 'ok' = 'ok' testing gcdExtended ... ok: 'ok' = 'ok' testing powerMod ... ok: 'ok' = 'ok' testing prob isPrime/nextPrime ... ok: 'ok' = 'ok' testing log ... ok: 'ok' = 'ok' testing diff: empty input ... ok: a vector = vector testing diff: prefix suffix ... ok: a vector(0, 1, 2, nil, 4, 5, 6) = a vector(0, 1, 2, nil, 4, 5, 6) testing diff: short lines ... ok: a vector(1, 2, 3, 4, 5) = a vector(1, 2, 3, 4, 5) testing diff: permutation ... ok: a vector(3, nil, 4, 5, nil, nil) = a vector(3, nil, 4, 5, nil, nil) testing diff: hash collisions ... ok: a vector(0, nil, nil, 3) = a vector(0, nil, nil, 3) testing sorted sequence: adding ... ok: a vector(8 elements) = a vector(8 elements) testing sorted sequence: adding ... ok: 4775038 = 4775038 testing shared set cardinality ... ok: 0 = 0 testing shared set interference ... ok: false = false testing shared set cardinality 2 ... ok: 0 = 0 testing shared set cardinality ... ok: 0 = 0 testing shared set interference ... ok: false = false testing shared set cardinality 2 ... ok: 0 = 0 testing shared dictionary test ... ok: 0 = 0 testing shared dictionary test ... ok: 0 = 0 testing shared queue cardinality ... ok: 0 = 0 testing shared queue consistency ... ok: false = false building orderedDictionary keys testing orderedDictionary Testing monitors... done. testing mirror lookup 1 ... ok: a path(baz) = a path(baz) testing mirror lookup 2 ... ok: a path(p1 bar) = a path(p1 bar) testing mirror lookup 3 ... ok: false = false testing mirror lookup 4 ... ok: a set(a path, a path) = a set(a path, a path) Deltablue test... Chain benchmark: 90 msecs to build a chain of 100 constraints. Case 1: add: 51 plan: 40 execute: 2 remove: 50 plan size: 100 Case 2: add: 8 plan: 4 execute: 0 remove: 44 plan size: 100 Case 3: add: 7 plan: 3 execute: 1 remove: 9 plan size: 100 Testing simple small integer arithmetic and failures... testing 10 factorial ... ok: 3628800 = 3628800 testing 3 power: 5 ... ok: 243 = 243 testing -2 power: 3 ... ok: -8 = -8 testing 0 power: 3 ... ok: 0 = 0 testing 5 power: 0 ... ok: 1 = 1 testing -5 power: 0 ... ok: 1 = 1 testing 0 _IntSub: minSmallInt IfFail: 17 ... ok: 17 = 17 Testing simple big integer arithmetic and failures... testing 25 factorial ... ok: 15511210043330985984000000 = 15511210043330985984000000 testing 3 power: 25 ... ok: 847288609443 = 847288609443 testing bigInt division ... ok: 403291461126605635584000000 = 403291461126605635584000000 testing bigInt printString ... ok: '15511210043330985984000000' = '15511210043330985984000000' testing 3.4 + 5 ... ok: 8.4 = 8.4 testing 0 asFloat = 0 ... ok: 0.0 = 0 testing 2 power: -3 ... ok: 0.125 = 0.125 testing -2 power: -3 ... ok: -0.125 = -0.125 Testing arithmetic simplifications... testing N + N ... ok: 6 = 6 testing N * N ... ok: 9 = 9 testing N + 0 ... ok: 3 = 3 testing 0 + N ... ok: 3 = 3 testing N - 0 ... ok: 3 = 3 testing 0 - N ... ok: -3 = -3 testing N * 0 ... ok: 0 = 0 testing 0 * N ... ok: 0 = 0 testing N * 1 ... ok: 3 = 3 testing 1 * N ... ok: 3 = 3 testing N * -1 ... ok: -3 = -3 testing -1 * N ... ok: -3 = -3 testing N * 2 ... ok: 6 = 6 testing 2 * N ... ok: 6 = 6 testing N * 1024 ... ok: 3072 = 3072 testing 1024 * N ... ok: 3072 = 3072 testing N / 1 ... ok: 3 = 3 testing 1 / N ... ok: 0 = 0 testing N && 0 ... ok: 0 = 0 testing 0 && N ... ok: 0 = 0 testing N || 0 ... ok: 3 = 3 testing 0 || N ... ok: 3 = 3 testing N ^^ 0 ... ok: 3 = 3 testing 0 ^^ N ... ok: 3 = 3 testing N <+ 0 ... ok: 3 = 3 testing 0 <+ N ... ok: 0 = 0 testing N << 0 ... ok: 3 = 3 testing 0 << N ... ok: 0 = 0 testing N +> 0 ... ok: 3 = 3 testing 0 +> N ... ok: 0 = 0 testing N >> 0 ... ok: 3 = 3 testing 0 >> N ... ok: 0 = 0 testing +N / +N ... ok: 2 = 2 testing -N / +N ... ok: 2 = 2 testing +N / -N ... ok: 2 = 2 testing -N / -N ... ok: 2 = 2 testing +N % +N ... ok: 2 = 2 testing -N % +N ... ok: 2 = 2 testing +N % -N ... ok: 2 = 2 testing -N % -N ... ok: 2 = 2 testing division by 1 ... ok: 1 = 1 testing division by 1 ... ok: 0 = 0 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -1 = -1 testing division borderlines ... ok: 0 = 0 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division with tags ... ok: -12 = -12 testing division with tags ... ok: -6 = -6 testing division with tags ... ok: -4 = -4 testing division with tags ... ok: -3 = -3 Testing list operations... running list copy ... value: a list running add: 2 ... value: a list(2) running add: -3.34 ... value: a list(2, -3.34) running addFirst: 1 ... value: a list(1, 2, -3.34) testing l copy = l ... ok: a list(1, 2, -3.34) = a list(1, 2, -3.34) Testing tree operations... running treeSet example ... a treeSet a treeSet(3) a treeSet(3, 5) a treeSet(3, 5) a treeSet(3, 5) true false a treeSet(3, 4, 5) a treeSet(3, 5) false 2 value: treeSet running treeBag example ... a treeBag a treeBag(3) a treeBag(3, 5) a treeBag(3, 3, 5) a treeBag(3, 5) true false a treeBag(3, 3, 4, 5) a treeBag(3, 5) false 2 value: treeBag Testing vector operations... testing vector copy & mapBy ... ok: a vector(25, 25, 25, 25, 25, 25, 25) = a vector(25, 25, 25, 25, 25, 25, 25) testing vector at: aBigInt ... ok: 'a potato' = 'a potato' testing byteVector at: aBigInt ... ok: 71 = 71 Testing string operations... testing 'asd' copyWithoutLast ... ok: 'as' = 'as' testing string concatenation ... ok: true = true testing '\t\n\r abc' leadingWhiteSpace ... ok: 4 = 4 testing if string hash is preserved across GC ... ok: true = true Testing textLines... testing 'asd\nqwe\n' asTextLines lines ... ok: a list(a mutableString, a mutableString, a mutableString) = a list('asd', 'qwe', '') Testing sequence operations... testing sequence copy ... ok: a sequence = sequence running add: 2 ... value: a sequence(2) running add: -3.34 ... value: a sequence(2, -3.34) running addFirst: 1 ... value: a sequence(1, 2, -3.34) testing s copy = s ... ok: a sequence(1, 2, -3.34) = a sequence(1, 2, -3.34) running remove: 2 ... value: a sequence(1, -3.34) running removeLast ... value: -3.34 running removeFirst ... value: 1 running copySize: 10 FillingWith: 'asd' ... value: a sequence(10 elements) running at: 3 Put: 4.5 ... value: a sequence(10 elements) testing at: 2 ... ok: 'asd' = 'asd' testing at: 3 ... ok: 4.5 = 4.5 running removeKey: 3 ... value: a sequence(9 elements) running removeKey: 0 ... value: a sequence(8 elements) running removeKey: s size pred ... value: a sequence('asd', 'asd', 'asd', 'asd', 'asd', 'asd', 'asd') running addFirst: 8 ... value: a sequence(8 elements) running addFirst: 7 ... value: a sequence(9 elements) running addFirst: 6 ... value: a sequence(10 elements) running addFirst: 5 ... value: a sequence(11 elements) running addFirst: 4 ... value: a sequence(12 elements) running addFirst: 3 ... value: a sequence(13 elements) running addFirst: 2 ... value: a sequence(14 elements) running addFirst: 1 ... value: a sequence(15 elements) running addLast: 1 ... value: a sequence(16 elements) running addLast: 2 ... value: a sequence(17 elements) running addLast: 3 ... value: a sequence(18 elements) running addLast: 4 ... value: a sequence(19 elements) running addLast: 5 ... value: a sequence(20 elements) running addLast: 6 ... value: a sequence(21 elements) running addLast: 7 ... value: a sequence(22 elements) running addLast: 8 ... value: a sequence(23 elements) running addLast: 9 ... value: a sequence(24 elements) running addLast: 10 ... value: a sequence(25 elements) running addLast: 11 ... value: a sequence(26 elements) running addLast: 12 ... value: a sequence(27 elements) testing sequence copy & mapBy ... ok: a sequence(25, 25, 25, 25, 25, 25, 25) = a sequence(25, 25, 25, 25, 25, 25, 25) running message interception and resending ... x - 1 -> 22 x = 23 -> true x == 23 -> true 23 == x -> false value: a sender running message interception and broadcasting ... 3abcvalue: a transmitter Testing the parser... running parser testXYZ ... xyzvalue: an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'xyz') running parser testOnePlusTwo ... 1 + 2value: an oldParser parseNodes binarySend(1, '+', 2) running parser testRandom ... 3 + nil "*" a<-:a: b + c d e B<-:B: "'asd'" size C<-:C: a<-:a: 3value: an oldParser parseNodes keywordSend(an oldParser parseNodes binarySend(3, '+', an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'nil')), 'a:B:C:', a list(an oldParser parseNodes binarySend, an oldParser parseNodes unarySend, an oldParser parseNodes keywordSend)) running parser testAddPoints ... (clone x<-:x: x + p x) y<-:y: y + p yvalue: an oldParser parseNodes keywordSend(an oldParser parseNodes methodObject(an oldParser parseNodes slotList, an oldParser parseNodes statements), 'y:', a list(an oldParser parseNodes binarySend)) Testing error handling... Provoking: undefinedSelector To debug in ui2, type: selfProcessModel debugProcess: 11 as to debug in console, type: attach: 11 to dump stack, type: 11 as printError. Provoking: ambiguousSelector [Tue Jul 07 05:16:20 2026] error -- No 'birdAndFish' slot found in processErrors undefinedSelector. To debug in ui2, type: selfProcessModel debugProcess: 12 as to debug in console, type: attach: 12 to dump stack, type: 12 as printError. Provoking: missingDelegatee [Tue Jul 07 05:16:20 2026] error -- More than one 'x' slot was found in a slots object. The matching slots are: a slots object and a slots object. To debug in ui2, type: selfProcessModel debugProcess: 13 as to debug in console, type: attach: 13 to dump stack, type: 13 as printError. Provoking: performTypeErrorSelector [Tue Jul 07 05:16:20 2026] error -- No 'fish' delegatee slot was found in a slots object. Sending method holder is a slots object. To debug in ui2, type: selfProcessModel debugProcess: 14 as to debug in console, type: attach: 14 to dump stack, type: 14 as printError. Provoking: mismatchedArgumentCountSelector [Tue Jul 07 05:16:20 2026] error -- The selector 12222 could not be sent to lobby because it is not a string. To debug in ui2, type: selfProcessModel debugProcess: 15 as to debug in console, type: attach: 15 to dump stack, type: 15 as printError. Provoking: primitiveFailed [Tue Jul 07 05:16:20 2026] error -- The selector 'add:' could not be sent to lobby because it does not take 2 arguments. To debug in ui2, type: selfProcessModel debugProcess: 16 as to debug in console, type: attach: 16 to dump stack, type: 16 as printError. [Tue Jul 07 05:16:20 2026] error -- badTypeError: the '_IntAdd:' primitive failed. Its receiver was lobby. Provoking: stackOverflow To debug in ui2, type: selfProcessModel debugProcess: 17 as to debug in console, type: attach: 17 to dump stack, type: 17 as printError. Provoking: nonLifoBlock [Tue Jul 07 05:16:20 2026] error -- The stack has grown too big. (Self 4.0 limits stack sizes, and cannot resume processes with stack overflows.) To debug in ui2, type: selfProcessModel debugProcess: 18 as to debug in console, type: attach: 18 to dump stack, type: 18 as printError. Provoking: userError [Tue Jul 07 05:16:21 2026] error -- Self 4.0 cannot run a block after its enclosing method has returned. (Self cannot resume this process, either.) To debug in ui2, type: selfProcessModel debugProcess: 19 as to debug in console, type: attach: 19 to dump stack, type: 19 as printError. Provoking: userErrorWithArguments [Tue Jul 07 05:16:21 2026] error -- Error: user error. Receiver is: lobby. To debug in ui2, type: selfProcessModel debugProcess: 20 as to debug in console, type: attach: 20 to dump stack, type: 20 as printError. Testing number functions .... (setting seed to 18981691). testing random generator ... Copy of random Copy of randomLC ok: 'ok' = 'ok' testing even/odd ... ok: 'ok' = 'ok' testing determ. isPrime ... ok: 'ok' = 'ok' testing nextPrime ... testing -111 nextPrime ... ok: 2 = 2 testing 1 nextPrime ... ok: 2 = 2 testing 4 nextPrime ... ok: 5 = 5 testing 65521 nextPrime ... ok: 65537 = 65537 testing first 15 primes ... ok: ' 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47' = ' 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47' ok: 'ok' = 'ok' testing factors ... ok: 'ok' = 'ok' testing gcd ... ok: 'ok' = 'ok' testing gcdExtended ... ok: 'ok' = 'ok' testing powerMod ... ok: 'ok' = 'ok' testing prob isPrime/nextPrime ... ok: 'ok' = 'ok' testing log ... ok: 'ok' = 'ok' testing diff: empty input ... ok: a vector = vector testing diff: prefix suffix ... ok: a vector(0, 1, 2, nil, 4, 5, 6) = a vector(0, 1, 2, nil, 4, 5, 6) testing diff: short lines ... ok: a vector(1, 2, 3, 4, 5) = a vector(1, 2, 3, 4, 5) testing diff: permutation ... ok: a vector(3, nil, 4, 5, nil, nil) = a vector(3, nil, 4, 5, nil, nil) testing diff: hash collisions ... ok: a vector(0, nil, nil, 3) = a vector(0, nil, nil, 3) testing sorted sequence: adding ... ok: a vector(8 elements) = a vector(8 elements) testing sorted sequence: adding ... ok: 4775038 = 4775038 testing shared set cardinality ... ok: 0 = 0 testing shared set interference ... ok: false = false testing shared set cardinality 2 ... ok: 0 = 0 [Tue Jul 07 05:16:21 2026] error -- Error: user error with argument. Receiver is: lobby. Argument is: lobby. testing shared set cardinality ... ok: 0 = 0 testing shared set interference ... ok: false = false testing shared set cardinality 2 ... ok: 0 = 0 testing shared dictionary test ... ok: 0 = 0 testing shared dictionary test ... ok: 0 = 0 testing shared queue cardinality ... ok: 0 = 0 testing shared queue consistency ... ok: false = false building orderedDictionary keys testing orderedDictionary Testing monitors... done. testing mirror lookup 1 ... ok: a path(baz) = a path(baz) testing mirror lookup 2 ... ok: a path(p1 bar) = a path(p1 bar) testing mirror lookup 3 ... ok: false = false testing mirror lookup 4 ... ok: a set(a path, a path) = a set(a path, a path) Deltablue test... Chain benchmark: 119 msecs to build a chain of 100 constraints. Case 1: add: 85 plan: 9 execute: 3 remove: 151 plan size: 100 Case 2: add: 194 plan: 2 execute: 0 remove: 69 plan size: 100 Case 3: add: 7 plan: 63 execute: 0 remove: 133 plan size: 100 verifying newgen: eden from to oldgen: old0 z p r S v O m N M i done End of tests. Starting test suite ... verifying newgen: eden from to oldgen: old0 z p r S v O m N M i done Testing _EQ: inlining argument relocation ... ok Testing adding slots to smallInt, float and block parents ... ok Testing message lookup... testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing argument lookup ... ok: 'xa3' = 'xa3' testing argument lookup ... ok: 'xa4' = 'xa4' testing argument lookup ... ok: 'xa5' = 'xa5' testing argument lookup ... ok: 'xa6' = 'xa6' testing argument lookup ... ok: 'xa7' = 'xa7' testing argument lookup ... ok: 'xa8' = 'xa8' testing argument lookup ... ok: 'xa9' = 'xa9' testing argument lookup ... ok: 'xa10' = 'xa10' testing argument lookup ... ok: 'xa11' = 'xa11' testing argument lookup ... ok: 'xa12' = 'xa12' testing argument lookup ... ok: 'xa13' = 'xa13' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' #0 <0x294de368 @ 0x190c7200 nic # 0> (./core/process.self:850): lowLevelStackTrace = ( | self* = <21>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) expression stack: { 0 } current byte code: 3: implicit self send: _PrintProcessStackIfFail: 1 arguments #1 <0x294de398 @ 0x190cc400 nic # 0> (./tests/tests.self:985): lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: = ( | self* = <22>. :xa1 = 'xa1'. :xa2 = 'xa2'. :xa3 = 'xa3'. :xa4 = 'xa4'. :xa5 = 'xa5'. :xa6 = 'xa6'. :xa7 = 'xa7'. :xa8 = 'xa8'. :xa9 = 'xa9'. :xa10 = 'xa10'. :xa11 = 'xa11'. :xa12 = 'xa12'. :xa13 = 'xa13'. :recursive = false. w <- false "nil". xm1 <- 'xm1'. xm10 <- 'xm10'. xm11 <- 'xm11'. xm12 <- 'xm12'. xm2 <- 'xm2'. xm3 <- 'xm3'. xm4 <- 'xm4'. xm5 <- 'xm5'. xm6 <- 'xm6'. xm7 <- 'xm7'. xm8 <- 'xm8'. xm9 <- 'xm9'. | check: xa1 Against: 'xa1' Named: 'argument lookup'. check: xa2 Against: 'xa2' Named: 'argument lookup'. check: xa3 Against: 'xa3' Named: 'argument lookup'. check: xa4 Against: 'xa4' Named: 'argument lookup'. check: xa5 Against: 'xa5' Named: 'argument lookup'. check: xa6 Against: 'xa6' Named: 'argument lookup'. check: xa7 Against: 'xa7' Named: 'argument lookup'. check: xa8 Against: 'xa8' Named: 'argument lookup'. check: xa9 Against: 'xa9' Named: 'argument lookup'. check: xa10 Against: 'xa10' Named: 'argument lookup'. check: xa11 Against: 'xa11' Named: 'argument lookup'. check: xa12 Against: 'xa12' Named: 'argument lookup'. check: xa13 Against: 'xa13' Named: 'argument lookup'. check: xm1 Against: 'xm1' Named: 'local lookup'. check: xm2 Against: 'xm2' Named: 'local lookup'. check: xm3 Against: 'xm3' Named: 'local lookup'. check: xm4 Against: 'xm4' Named: 'local lookup'. check: xm5 Against: 'xm5' Named: 'local lookup'. check: xm6 Against: 'xm6' Named: 'local lookup'. check: xm7 Against: 'xm7' Named: 'local lookup'. check: xm8 Against: 'xm8' Named: 'local lookup'. check: xm9 Against: 'xm9' Named: 'local lookup'. check: xm10 Against: 'xm10' Named: 'local lookup'. check: xm11 Against: 'xm11' Named: 'local lookup'. check: xm12 Against: 'xm12' Named: 'local lookup'. memory scavenge. "test scavenging of extra args" w: _WizardMode: true. "include expr stack in stack trace" process this lowLevelStackTrace. "should break if scavenge isn't ok" _WizardMode: w. recursive ifFalse: [ lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ]. self ) expression stack: { <21> } current byte code: 203: send: lowLevelStackTrace 0 arguments #2 <0x294de408 @ 0x190ca7e0 nic # 0> (./tests/tests.self:816): lookupTest = ( | self* = <22>. | 'Testing message lookup...' printLine. lookupTest: 'xa1' Xa2: 'xa2' Xa3: 'xa3' Xa4: 'xa4' Xa5: 'xa5' Xa6: 'xa6' Xa7: 'xa7' Xa8: 'xa8' Xa9: 'xa9' Xa10: 'xa10' Xa11: 'xa11' Xa12: 'xa12' Xa13: 'xa13' Recursive: false. lookupTest: 'xa1' Xa2: 'xa2'. self ) expression stack: { 'xa1', 'xa2', 'xa3', 'xa4', 'xa5', 'xa6', 'xa7', 'xa8', 'xa9', 'xa10', 'xa11', 'xa12', 'xa13', false } current byte code: 20: implicit self send: lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: 14 arguments #3 <0x294de498 @ 0x190c8780 nic # 0> (./tests/tests.self:2195): value = [ | []* = <0x294de508 # 0>. | immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] current byte code: 3: implicit self send: lookupTest 0 arguments #4 <0x294de4c8*@ 0x191e3bc0!nic # 0> (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <23>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) current byte code: 27: implicit self send: value 0 arguments #5 <0x294de508 @ 0x190cb8c0 nic # 0> (./tests/tests.self:2190): runVMSuite = ( | self* = <22>. errorMessages <- <24> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) expression stack: { <23> } current byte code: 10: send: withAndWithoutInlining 0 arguments #6 <0x294de538 @ 0x190c8540 nic # 0> (./tests/tests.self:2051): runAllTests = ( | self* = <22>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) current byte code: 3: implicit self send: runVMSuite 0 arguments #7 <0x294de568 @ 0x190c8360 nic # 0> (./tests/tests.self:2169): value = [ | []* = <0x294de5a8 # 0>. | runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] current byte code: 1: implicit self send: runAllTests 0 arguments #8 <0x294de588 @ 0x190baea0 nic # 0> (./core/prompt.self:483): suspendWhile: = ( | self* = <25>. :b = <26>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) expression stack: { <26> } current byte code: 8: send: value 0 arguments #9 <0x294de5a8 @ 0x190baa60 nic # 0> (./tests/tests.self:2168): value = [ | []* = <0x294de5f8 # 0>. | prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] expression stack: { <25>, <26> } current byte code: 4: send: suspendWhile: 1 arguments #10 <0x294de5d8 @ 0x190768a0 sic # 17> (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <27>. :b2 = nil. | b1 value ) expression stack: { <27> } current byte code: 2: send: value 0 arguments #11 <0x294de5d8 @ 0x190768a0 sic # 0> (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <27>. | ifTrue: b False: nil ) expression stack: { <27>, nil } current byte code: 4: implicit self send: ifTrue:False: 2 arguments #12 <0x294de5f8 @ 0x190ba8e0 nic # 0> (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <22>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) expression stack: { true, <27> } current byte code: 4: send: ifTrue: 1 arguments testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing argument lookup ... ok: 'xa3' = 'xa3' testing argument lookup ... ok: 'xa4' = 'xa4' testing argument lookup ... ok: 'xa5' = 'xa5' testing argument lookup ... ok: 'xa6' = 'xa6' testing argument lookup ... ok: 'xa7' = 'xa7' testing argument lookup ... ok: 'xa8' = 'xa8' testing argument lookup ... ok: 'xa9' = 'xa9' testing argument lookup ... ok: 'xa10' = 'xa10' testing argument lookup ... ok: 'xa11' = 'xa11' testing argument lookup ... ok: 'xa12' = 'xa12' testing argument lookup ... ok: 'xa13' = 'xa13' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' #0 <0x294de228 @ 0x190c7200 nic # 0> (./core/process.self:850): lowLevelStackTrace = ( | self* = <21>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) expression stack: { 0 } current byte code: 3: implicit self send: _PrintProcessStackIfFail: 1 arguments #1 <0x294de258 @ 0x190cc400 nic # 0> (./tests/tests.self:985): lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: = ( | self* = <22>. :xa1 = 'xa1'. :xa2 = 'xa2'. :xa3 = 'xa3'. :xa4 = 'xa4'. :xa5 = 'xa5'. :xa6 = 'xa6'. :xa7 = 'xa7'. :xa8 = 'xa8'. :xa9 = 'xa9'. :xa10 = 'xa10'. :xa11 = 'xa11'. :xa12 = 'xa12'. :xa13 = 'xa13'. :recursive = true. w <- false "nil". xm1 <- 'xm1'. xm10 <- 'xm10'. xm11 <- 'xm11'. xm12 <- 'xm12'. xm2 <- 'xm2'. xm3 <- 'xm3'. xm4 <- 'xm4'. xm5 <- 'xm5'. xm6 <- 'xm6'. xm7 <- 'xm7'. xm8 <- 'xm8'. xm9 <- 'xm9'. | check: xa1 Against: 'xa1' Named: 'argument lookup'. check: xa2 Against: 'xa2' Named: 'argument lookup'. check: xa3 Against: 'xa3' Named: 'argument lookup'. check: xa4 Against: 'xa4' Named: 'argument lookup'. check: xa5 Against: 'xa5' Named: 'argument lookup'. check: xa6 Against: 'xa6' Named: 'argument lookup'. check: xa7 Against: 'xa7' Named: 'argument lookup'. check: xa8 Against: 'xa8' Named: 'argument lookup'. check: xa9 Against: 'xa9' Named: 'argument lookup'. check: xa10 Against: 'xa10' Named: 'argument lookup'. check: xa11 Against: 'xa11' Named: 'argument lookup'. check: xa12 Against: 'xa12' Named: 'argument lookup'. check: xa13 Against: 'xa13' Named: 'argument lookup'. check: xm1 Against: 'xm1' Named: 'local lookup'. check: xm2 Against: 'xm2' Named: 'local lookup'. check: xm3 Against: 'xm3' Named: 'local lookup'. check: xm4 Against: 'xm4' Named: 'local lookup'. check: xm5 Against: 'xm5' Named: 'local lookup'. check: xm6 Against: 'xm6' Named: 'local lookup'. check: xm7 Against: 'xm7' Named: 'local lookup'. check: xm8 Against: 'xm8' Named: 'local lookup'. check: xm9 Against: 'xm9' Named: 'local lookup'. check: xm10 Against: 'xm10' Named: 'local lookup'. check: xm11 Against: 'xm11' Named: 'local lookup'. check: xm12 Against: 'xm12' Named: 'local lookup'. memory scavenge. "test scavenging of extra args" w: _WizardMode: true. "include expr stack in stack trace" process this lowLevelStackTrace. "should break if scavenge isn't ok" _WizardMode: w. recursive ifFalse: [ lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ]. self ) expression stack: { <21> } current byte code: 203: send: lowLevelStackTrace 0 arguments #2 <0x294de2c8 @ 0x190a47c0 nic # 0> (./tests/tests.self:1015): value = [ | []* = <0x294de398 # 0>. | lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ] expression stack: { 'xa1', 'xa2', 'xa3', 'xa4', 'xa5', 'xa6', 'xa7', 'xa8', 'xa9', 'xa10', 'xa11', 'xa12', 'xa13', true } current byte code: 29: implicit self send: lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: 14 arguments #3 <0x294de358 @ 0x1900f2e0 nic # 0> (./core/boolean.self:42): ifTrue:False: = ( | self* = false. :b1 = nil. :b2 = <28>. | b2 value ) expression stack: { <28> } current byte code: 2: send: value 0 arguments #4 <0x294de378 @ 0x19072780 sic # 0> (./core/boolean.self:223): ifFalse: = ( | self* = false. :b = <28>. | ifTrue: nil False: b ) expression stack: { '', <28> } current byte code: 4: implicit self send: ifTrue:False: 2 arguments #5 <0x294de398 @ 0x190cc400 nic # 0> (./tests/tests.self:985): lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: = ( | self* = <22>. :xa1 = 'xa1'. :xa2 = 'xa2'. :xa3 = 'xa3'. :xa4 = 'xa4'. :xa5 = 'xa5'. :xa6 = 'xa6'. :xa7 = 'xa7'. :xa8 = 'xa8'. :xa9 = 'xa9'. :xa10 = 'xa10'. :xa11 = 'xa11'. :xa12 = 'xa12'. :xa13 = 'xa13'. :recursive = false. w <- false "nil". xm1 <- 'xm1'. xm10 <- 'xm10'. xm11 <- 'xm11'. xm12 <- 'xm12'. xm2 <- 'xm2'. xm3 <- 'xm3'. xm4 <- 'xm4'. xm5 <- 'xm5'. xm6 <- 'xm6'. xm7 <- 'xm7'. xm8 <- 'xm8'. xm9 <- 'xm9'. | check: xa1 Against: 'xa1' Named: 'argument lookup'. check: xa2 Against: 'xa2' Named: 'argument lookup'. check: xa3 Against: 'xa3' Named: 'argument lookup'. check: xa4 Against: 'xa4' Named: 'argument lookup'. check: xa5 Against: 'xa5' Named: 'argument lookup'. check: xa6 Against: 'xa6' Named: 'argument lookup'. check: xa7 Against: 'xa7' Named: 'argument lookup'. check: xa8 Against: 'xa8' Named: 'argument lookup'. check: xa9 Against: 'xa9' Named: 'argument lookup'. check: xa10 Against: 'xa10' Named: 'argument lookup'. check: xa11 Against: 'xa11' Named: 'argument lookup'. check: xa12 Against: 'xa12' Named: 'argument lookup'. check: xa13 Against: 'xa13' Named: 'argument lookup'. check: xm1 Against: 'xm1' Named: 'local lookup'. check: xm2 Against: 'xm2' Named: 'local lookup'. check: xm3 Against: 'xm3' Named: 'local lookup'. check: xm4 Against: 'xm4' Named: 'local lookup'. check: xm5 Against: 'xm5' Named: 'local lookup'. check: xm6 Against: 'xm6' Named: 'local lookup'. check: xm7 Against: 'xm7' Named: 'local lookup'. check: xm8 Against: 'xm8' Named: 'local lookup'. check: xm9 Against: 'xm9' Named: 'local lookup'. check: xm10 Against: 'xm10' Named: 'local lookup'. check: xm11 Against: 'xm11' Named: 'local lookup'. check: xm12 Against: 'xm12' Named: 'local lookup'. memory scavenge. "test scavenging of extra args" w: _WizardMode: true. "include expr stack in stack trace" process this lowLevelStackTrace. "should break if scavenge isn't ok" _WizardMode: w. recursive ifFalse: [ lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ]. self ) expression stack: { false, <28> } current byte code: 215: send: ifFalse: 1 arguments #6 <0x294de408 @ 0x190ca7e0 nic # 0> (./tests/tests.self:816): lookupTest = ( | self* = <22>. | 'Testing message lookup...' printLine. lookupTest: 'xa1' Xa2: 'xa2' Xa3: 'xa3' Xa4: 'xa4' Xa5: 'xa5' Xa6: 'xa6' Xa7: 'xa7' Xa8: 'xa8' Xa9: 'xa9' Xa10: 'xa10' Xa11: 'xa11' Xa12: 'xa12' Xa13: 'xa13' Recursive: false. lookupTest: 'xa1' Xa2: 'xa2'. self ) expression stack: { 'xa1', 'xa2', 'xa3', 'xa4', 'xa5', 'xa6', 'xa7', 'xa8', 'xa9', 'xa10', 'xa11', 'xa12', 'xa13', false } current byte code: 20: implicit self send: lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: 14 arguments #7 <0x294de498 @ 0x190c8780 nic # 0> (./tests/tests.self:2195): value = [ | []* = <0x294de508 # 0>. | immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] current byte code: 3: implicit self send: lookupTest 0 arguments #8 <0x294de4c8*@ 0x191e3bc0!nic # 0> (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <23>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) current byte code: 27: implicit self send: value 0 arguments #9 <0x294de508 @ 0x190cb8c0 nic # 0> (./tests/tests.self:2190): runVMSuite = ( | self* = <22>. errorMessages <- <24> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) expression stack: { <23> } current byte code: 10: send: withAndWithoutInlining 0 arguments #10 <0x294de538 @ 0x190c8540 nic # 0> (./tests/tests.self:2051): runAllTests = ( | self* = <22>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) current byte code: 3: implicit self send: runVMSuite 0 arguments #11 <0x294de568 @ 0x190c8360 nic # 0> (./tests/tests.self:2169): value = [ | []* = <0x294de5a8 # 0>. | runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] current byte code: 1: implicit self send: runAllTests 0 arguments #12 <0x294de588 @ 0x190baea0 nic # 0> (./core/prompt.self:483): suspendWhile: = ( | self* = <25>. :b = <26>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) expression stack: { <26> } current byte code: 8: send: value 0 arguments #13 <0x294de5a8 @ 0x190baa60 nic # 0> (./tests/tests.self:2168): value = [ | []* = <0x294de5f8 # 0>. | prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] expression stack: { <25>, <26> } current byte code: 4: send: suspendWhile: 1 arguments #14 <0x294de5d8 @ 0x190768a0 sic # 17> (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <27>. :b2 = nil. | b1 value ) expression stack: { <27> } current byte code: 2: send: value 0 arguments #15 <0x294de5d8 @ 0x190768a0 sic # 0> (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <27>. | ifTrue: b False: nil ) expression stack: { <27>, nil } current byte code: 4: implicit self send: ifTrue:False: 2 arguments #16 <0x294de5f8 @ 0x190ba8e0 nic # 0> (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <22>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) expression stack: { true, <27> } current byte code: 4: send: ifTrue: 1 arguments testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' testing receiver lookup ... ok: 'xr1' = 'xr1' testing receiver lookup ... ok: 'xr2' = 'xr2' testing parent lookup ... ok: 'xp1' = 'xp1' testing parent lookup ... ok: 'xp2' = 'xp2' testing block argument lookup ... ok: 'xba1' = 'xba1' testing block argument lookup ... ok: 'xba2' = 'xba2' testing block lookup ... ok: 'xb1' = 'xb1' testing block lookup ... ok: 'xb2' = 'xb2' testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' testing receiver lookup ... ok: 'xr1' = 'xr1' testing receiver lookup ... ok: 'xr2' = 'xr2' testing parent lookup ... ok: 'xp1' = 'xp1' testing parent lookup ... ok: 'xp2' = 'xp2' testing nested argument lookup ... ok: 'xba1' = 'xba1' testing nested argument lookup ... ok: 'xba2' = 'xba2' testing nested block lookup ... ok: 'xb1' = 'xb1' testing nested block lookup ... ok: 'xb2' = 'xb2' testing parent in method ... ok: 42 = 42 testing parent in method ... ok: 43 = 43 Testing inheritance semantics... testing sends outside of sender path ... ok: 'b' = 'b' testing delegated sends ... ok: 'b' = 'b' testing merging parent paths ... ok: 'b' = 'b' testing sender path constraint ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing assignment result ... ok: true = true testing inherited assignment result ... ok: true = true Testing dynamic inheritance... testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'b' = 'b' testing di object fetch test ... ok: 'b' = 'b' testing di assignment result ... ok: true = true testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'b' = 'b' testing di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' Testing unwind protection... testing normal return ... ok: 'normal return' = 'normal return' testing non-local return ... ok: 'non-local return (caught)' = 'non-local return (caught)' testing more non-local return ... ok: 'non-local return (caught) (and continued)' = 'non-local return (caught) (and continued)' testing NLR inlining ... ok Testing low level aspects ... testing materializing blocks in vectors ... ok: 'ok' = 'ok' testing nullTerminated strings ... ok: 'ok' = 'ok' testing getpid ... ok: 'ok' = 'ok' testing file: ... create write open read seek read seek seek read delete ok: 'ok' = 'ok' testing testTypeSizes ... ok: 'ok' = 'ok' testing testCTypes ... ok: 'ok' = 'ok' Testing mirror operations... testing mirror size test ... ok: 4 = 4 testing mirror slot name test ... ok: 'parent1' = 'parent1' testing mirror value test ... ok: a mirrors smallInt(on 17) = a mirrors smallInt(on 17) testing mirror long key test ... ok: 'parent2*' = 'parent2*' testing mirror source test ... ok: '17 + 4 asFloat' = '17 + 4 asFloat' testing mirror key test ... ok: 'aMethod: b With: a' = 'aMethod: b With: a' testing lexical parent test ... ok: true = true testing naked method test ... ok: true = true testing naked method test ... ok: false = false Testing path cache and enumeration operations... Starting: Thoroughly cleaning up memory...... Finished: Thoroughly cleaning up memory... testing enumerate all test ... ok: true = true Starting: Thoroughly cleaning up memory...... Finished: Thoroughly cleaning up memory... testing enumerate references test ... ok: true = true Starting: Thoroughly cleaning up memory...... Finished: Thoroughly cleaning up memory... testing enumerate implementors test ... ok: true = true testing time test ... ok: true = true running lowLevelStackTrace... #0 (./core/process.self:850): lowLevelStackTrace = ( | self* = <32>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) #1 (./tests/tests.self:2469): value: = [ | :x = <33>. n <- 20 "17". | n: 20. process this lowLevelStackTrace. x. ] #2 (./core/defaultBehavior.self:420): value:With: = ( | self* = <34>. :a = <33>. :b = <35>. | value: a ) #3 (./tests/tests.self:2468): stackTest = ( | self* = <36>. m = 'test local'. q <- 'another test local'. | 'running lowLevelStackTrace...' printLine. [ | :x. n <- 17. | n: 20. process this lowLevelStackTrace. x. ] value: vector copy With: list copyRemoveAll. self ) #4 (./tests/tests.self:2195): value = [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] #5 (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <37>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) #6 (./tests/tests.self:2190): runVMSuite = ( | self* = <36>. errorMessages <- <38> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) #7 (./tests/tests.self:2051): runAllTests = ( | self* = <36>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) #8 (./tests/tests.self:2169): value = [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] #9 (./core/prompt.self:483): suspendWhile: = ( | self* = <39>. :b = <40>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) #10 (./tests/tests.self:2168): value = [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] #11 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <41>. :b2 = nil. | b1 value ) #12 (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <41>. | ifTrue: b False: nil ) #13 (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <36>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) Testing perform primitive... running perform stackTest ... running lowLevelStackTrace... #0 (./core/process.self:850): lowLevelStackTrace = ( | self* = <32>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) #1 (./tests/tests.self:2469): value: = [ | :x = <42>. n <- 20 "17". | n: 20. process this lowLevelStackTrace. x. ] #2 (./core/defaultBehavior.self:420): value:With: = ( | self* = <43>. :a = <42>. :b = <44>. | value: a ) #3 (./tests/tests.self:2468): stackTest = ( | self* = <36>. m = 'test local'. q <- 'another test local'. | 'running lowLevelStackTrace...' printLine. [ | :x. n <- 17. | n: 20. process this lowLevelStackTrace. x. ] value: vector copy With: list copyRemoveAll. self ) #4 (./tests/tests.self:1983): value = [ _Perform: performStackTest ] #5 (./tests/tests.self:255): check:Named: = ( | self* = <36>. :xb = <45>. :n = 'perform stackTest'. x <- nil. | ('running ', n, ' ... ') print. x: xb value. ('value: ', x printString) printLine. self ) #6 (./tests/tests.self:1982): performTest = ( | self* = <36>. upLevel <- nil. | 'Testing perform primitive...' printLine. check: [ _Perform: performStackTest ] Named: 'perform stackTest'. check: [ 0 _Perform: performSumFromTo With: 1 With: 10000 ] Against: 50005000 Named: 'perform 0 sumFrom: 1 To: 10000'. check: [ _Perform: performStackTest With: 1 With: 'asd' ] Against: 'argumentMismatch' Named: 'perform with argument mismatch'. check: [ _Perform: performRandomMessage With: 23 ] Against: 'messageNotUnderstood' Named: 'perform randomMessage: 23'. check: [ _Perform: performNotAString ] Against: 'performTypeError' Named: 'perform 17'. check: [ _Perform: [upLevel] ] Against: 'performTypeError' Named: 'perform [upLevel]'. check: [ _Perform: performEvalTest ] Against: 6 Named: 'perform evalTest'. check: [ nlrEvalTest ] Against: 'nlrResult' Named: 'nlrEvalTest'. self ) #7 (./tests/tests.self:2195): value = [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] #8 (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <37>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) #9 (./tests/tests.self:2190): runVMSuite = ( | self* = <36>. errorMessages <- <38> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) #10 (./tests/tests.self:2051): runAllTests = ( | self* = <36>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) #11 (./tests/tests.self:2169): value = [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] #12 (./core/prompt.self:483): suspendWhile: = ( | self* = <39>. :b = <40>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) #13 (./tests/tests.self:2168): value = [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] #14 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <41>. :b2 = nil. | b1 value ) #15 (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <41>. | ifTrue: b False: nil ) #16 (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <36>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) value: tests testing perform 0 sumFrom: 1 To: 10000 ... ok: 50005000 = 50005000 testing perform with argument mismatch ... ok: 'argumentMismatch' = 'argumentMismatch' testing perform randomMessage: 23 ... ok: 'messageNotUnderstood' = 'messageNotUnderstood' testing perform 17 ... ok: 'performTypeError' = 'performTypeError' testing perform [upLevel] ... ok: 'performTypeError' = 'performTypeError' testing perform evalTest ... #0 (./core/process.self:850): lowLevelStackTrace = ( | self* = <32>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) #1 (./tests/tests.self:2028): value = [ process this lowLevelStackTrace. 1 ] #2 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <46>. :b2 = <47>. | b1 value ) #3 (./tests/tests.self:2026): perverseFac: = ( | self* = <36>. :n = 1. | n <= 1 ifTrue: [ process this lowLevelStackTrace. 1 ] False: [ | s | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] ) #4 (:1): = ( | self* = lobby. | tests perverseFac: 1 ) #5 (./core/mirror.self:1133): forMirror:Evaluate: = ( | self* = <48>. :m = <49>. :otherMir = <50>. | m _MirrorEvaluate: otherMir ) #6 (./core/mirror.self:1910): evaluate: = ( | self* = <49>. :m = <50>. | reflectionPrimitives forMirror: self Evaluate: m ) #7 (./core/string.self:906): value = [ ctxt evaluate: m ] #8 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <51>. :b2 = <52>. | b1 value ) #9 (./core/string.self:905): evalInContext:FileName:IfFail: = ( | self* = <53>. :ctxt = <49>. :name = ''. :block = <54>. m <- <50> "nil". | m: parseObjectBodyFileName: name IfFail: [ | :e | ^ block value: e ]. m isReflecteeMethod ifTrue: [ ctxt evaluate: m ] False: [ m reflectee ] ) #10 (./core/string.self:887): evalIfFail: = ( | self* = <53>. :block = <54>. | evalInContext: (reflect: lobby) FileName: '' IfFail: block ) #11 (./core/string.self:879): eval = ( | self* = <53>. | evalIfFail: [|:e| error: 'couldn\'t parse: ', e printString] ) #12 (./tests/tests.self:2031): value = [ | s <- <53> "nil". | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] #13 (./core/boolean.self:42): ifTrue:False: = ( | self* = false. :b1 = <55>. :b2 = <56>. | b2 value ) #14 (./tests/tests.self:2026): perverseFac: = ( | self* = <36>. :n = 2. | n <= 1 ifTrue: [ process this lowLevelStackTrace. 1 ] False: [ | s | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] ) #15 (:1): = ( | self* = lobby. | tests perverseFac: 2 ) #16 (./core/mirror.self:1133): forMirror:Evaluate: = ( | self* = <48>. :m = <57>. :otherMir = <58>. | m _MirrorEvaluate: otherMir ) #17 (./core/mirror.self:1910): evaluate: = ( | self* = <57>. :m = <58>. | reflectionPrimitives forMirror: self Evaluate: m ) #18 (./core/string.self:906): value = [ ctxt evaluate: m ] #19 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <59>. :b2 = <60>. | b1 value ) #20 (./core/string.self:905): evalInContext:FileName:IfFail: = ( | self* = <61>. :ctxt = <57>. :name = ''. :block = <62>. m <- <58> "nil". | m: parseObjectBodyFileName: name IfFail: [ | :e | ^ block value: e ]. m isReflecteeMethod ifTrue: [ ctxt evaluate: m ] False: [ m reflectee ] ) #21 (./core/string.self:887): evalIfFail: = ( | self* = <61>. :block = <62>. | evalInContext: (reflect: lobby) FileName: '' IfFail: block ) #22 (./core/string.self:879): eval = ( | self* = <61>. | evalIfFail: [|:e| error: 'couldn\'t parse: ', e printString] ) #23 (./tests/tests.self:2031): value = [ | s <- <61> "nil". | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] #24 (./core/boolean.self:42): ifTrue:False: = ( | self* = false. :b1 = <63>. :b2 = <64>. | b2 value ) #25 (./tests/tests.self:2026): perverseFac: = ( | self* = <36>. :n = 3. | n <= 1 ifTrue: [ process this lowLevelStackTrace. 1 ] False: [ | s | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] ) #26 (./tests/tests.self:639): evalTest = ( | self* = <36>. | perverseFac: 3 ) #27 (./tests/tests.self:1995): value = [ _Perform: performEvalTest ] #28 (./tests/tests.self:239): check:Against:Named: = ( | self* = <36>. :xb = <65>. :yb = 6. :n = 'perform evalTest'. x <- nil. xs <- nil. y <- nil. ys <- nil. | ('testing ', n, ' ... ') print. x: xb value. y: yb value. xs: x printString. ys: y printString. x = y ifFalse: [ error: '', xs, ' != ', ys ]. ('ok: ', xs, ' = ', ys) printLine. self ) #29 (./tests/tests.self:1982): performTest = ( | self* = <36>. upLevel <- nil. | 'Testing perform primitive...' printLine. check: [ _Perform: performStackTest ] Named: 'perform stackTest'. check: [ 0 _Perform: performSumFromTo With: 1 With: 10000 ] Against: 50005000 Named: 'perform 0 sumFrom: 1 To: 10000'. check: [ _Perform: performStackTest With: 1 With: 'asd' ] Against: 'argumentMismatch' Named: 'perform with argument mismatch'. check: [ _Perform: performRandomMessage With: 23 ] Against: 'messageNotUnderstood' Named: 'perform randomMessage: 23'. check: [ _Perform: performNotAString ] Against: 'performTypeError' Named: 'perform 17'. check: [ _Perform: [upLevel] ] Against: 'performTypeError' Named: 'perform [upLevel]'. check: [ _Perform: performEvalTest ] Against: 6 Named: 'perform evalTest'. check: [ nlrEvalTest ] Against: 'nlrResult' Named: 'nlrEvalTest'. self ) #30 (./tests/tests.self:2195): value = [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] #31 (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <37>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) #32 (./tests/tests.self:2190): runVMSuite = ( | self* = <36>. errorMessages <- <38> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) #33 (./tests/tests.self:2051): runAllTests = ( | self* = <36>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) #34 (./tests/tests.self:2169): value = [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] #35 (./core/prompt.self:483): suspendWhile: = ( | self* = <39>. :b = <40>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) #36 (./tests/tests.self:2168): value = [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] #37 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <41>. :b2 = nil. | b1 value ) #38 (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <41>. | ifTrue: b False: nil ) #39 (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <36>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) ok: 6 = 6 testing nlrEvalTest ... ok: 'nlrResult' = 'nlrResult' Testing branches ... testing NIC test forward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testFwdUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 testing NIC test backward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 53 in method testBigStackA:B:C:D:E:F:G:H:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on true test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method min:And:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on true test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method min:And:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on false test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method max:And:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on false test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method max:And:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by string...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by -1...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by out of range...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by 0...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by 1...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by 2...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed in loop...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches testing block zapping w/ backward branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method blockZappingCalleeMethod; The debug information will be incorrect.--dmu 9/96 To debug in ui2, type: selfProcessModel debugProcess: 66 as to debug in console, type: attach: 66 to dump stack, type: 66 as printError. zapping, should execute zapped block testing SIC test forward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testFwdUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testFwdUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 testing SIC test backward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 53 in method testBigStackA:B:C:D:E:F:G:H:; The debug information will be incorrect.--dmu 9/96 testing SIC simple branch on true test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method min:And:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method min:And:; The debug information will be incorrect.--dmu 9/96 testing SIC simple branch on true test...[Tue Jul 07 05:17:44 2026] error -- Self 4.0 cannot run a block after its enclosing method has returned. (Self cannot resume this process, either.) testing SIC simple branch on false test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method max:And:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method max:And:; The debug information will be incorrect.--dmu 9/96 testing SIC simple branch on false test... testing SIC branch indexed by string...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing SIC branch indexed by -1... testing SIC branch indexed by out of range... testing SIC branch indexed by 0...Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing SIC branch indexed by 1... testing SIC branch indexed by 2... testing SIC branch indexed in loop...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches testing block zapping w/ backward branches Self VM warning: SIC found non-empty expression stack at branch targetin method blockZappingCalleeMethod; The debug information will be incorrect.--dmu 9/96 To debug in ui2, type: selfProcessModel debugProcess: 67 as to debug in console, type: attach: 67 to dump stack, type: 67 as printError. zapping, should execute zapped block Testing VM programming conversions... testing progTest1 ... ok: 'ok' = 'ok' testing progTest2 ... ok: 'ok' = 'ok' testing progTest3 ... ok: 'ok' = 'ok' testing progTest4 ... ok: 'ok' = 'ok' testing progTest5 ... ok: 'ok' = 'ok' testing progTest6 ... ok: 'ok' = 'ok' testing progTest7 ... ok: 'ok' = 'ok' testing progTest8 ... ok: 'ok' = 'ok' testing progTest9 ... ok: 'ok' = 'ok' testing progTest10 ... ok: 'ok' = 'ok' Testing VM programming conversions with DI... testing diProgTest1.1 ... ok: 'ok' = 'ok' testing diProgTest1.2 ... ok: 'ok' = 'ok' Testing VM programming conversions... testing progTest1 ... ok: 'ok' = 'ok' testing progTest2 ... ok: 'ok' = 'ok' testing progTest3 ... ok: 'ok' = 'ok' testing progTest4 ... ok: 'ok' = 'ok' testing progTest5 ... ok: 'ok' = 'ok' testing progTest6 ... ok: 'ok' = 'ok' testing progTest7 ... ok: 'ok' = 'ok' testing progTest8 ... ok: 'ok' = 'ok' testing progTest9 ... ok: 'ok' = 'ok' testing progTest10 ... ok: 'ok' = 'ok' [Tue Jul 07 05:17:46 2026] error -- Self 4.0 cannot run a block after its enclosing method has returned. (Self cannot resume this process, either.) testing testAddSlotsIfAbsent ... testing AddSlots primitives: ok: 'ok' = 'ok' testing testAddSlots ... testing AddSlots primitives: ok: 'ok' = 'ok' testing testPreserveMethodPointer ... testing preservation of links from literals to methods ok: 'ok' = 'ok' testing testMethodCreation ... ok: 'ok' = 'ok' testing testRemoveSlot ... testing _RemoveSlot primitives: ok: 'ok' = 'ok' testing testCopyAddArgumentSlot ... ok: 'ok' = 'ok' testing testCopyAtPut ... testing _MirrorCopyAtPut primitive: ok: 'ok' = 'ok' testing testCanonicalization ... ok: 'ok' = 'ok' *** Not running testConcurrentProgramming; see codeSlotsMap.h *** verifying newgen: eden from to oldgen: old1 old0 z p r S v O m N M i done Testing programming primitives... testing test1 ... ok: 'slotNameError' = 'slotNameError' testing test2 ... ok: 'unassignableSlotError' = 'unassignableSlotError' testing test3 ... ok: 'argumentCountError' = 'argumentCountError' testing test4 ... ok: 'lonelyAssignmentSlotError' = 'lonelyAssignmentSlotError' testing test6 ... ok: 'parentError' = 'parentError' testing test7 ... ok: 'ok' = 'ok' testing test8 ... ok: 'slotNameError' = 'slotNameError' testing test9 ... ok: 'argumentCountError' = 'argumentCountError' testing test10 ... ok: 'argumentCountError' = 'argumentCountError' testing test12 ... ok: true = true testing testA1 ... ok: 'ok' = 'ok' testing testA2 ... ok: mirrors assignment(on <-) = mirrors assignment(on <-) testing testA3 ... ok: 'ok' = 'ok' testing testA4 ... ok: 'ok' = 'ok' testing testA5 ... ok: 'ok' = 'ok' testing testA6 ... ok: true = true testing testA7 ... ok: true = true To debug in ui2, type: selfProcessModel debugProcess: 68 as to debug in console, type: attach: 68 to dump stack, type: 68 as printError. [Tue Jul 07 05:17:55 2026] error -- No 'foob' slot found in a tests conversionTestObj. 42 testing PositionTable ... ok: '-1' = '-1' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '23.456' = '23.456' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: ''string'' = ''string'' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '[]' = '[]' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '()' = '()' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '7890' = '7890' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'self' = 'self' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '_Prim' = '_Prim' testing Table size ... ok: 16 = 16 testing PositionTable ... ok: 'unary' = 'unary' testing PositionTable ... ok: 'unary unary' = 'unary unary' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '1234' = '1234' testing PositionTable ... ok: '1234 unary' = '1234 unary' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'resend.unary' = 'resend.unary' testing PositionTable ... ok: 'resend.unary' = 'resend.unary' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'parent.unary' = 'parent.unary' testing PositionTable ... ok: 'parent.unary' = 'parent.unary' testing Table size ... ok: 12 = 12 testing PositionTable ... ok: '1234' = '1234' testing PositionTable ... ok: '- 1234' = '- 1234' testing PositionTable ... ok: '- 1234' = '- 1234' testing PositionTable ... ok: '5678' = '5678' testing PositionTable ... ok: '- 1234 - 5678' = '- 1234 - 5678' testing PositionTable ... ok: '- 1234 - 5678' = '- 1234 - 5678' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '9012' = '9012' testing PositionTable ... ok: '3456' = '3456' testing PositionTable ... ok: '9012 + 3456' = '9012 + 3456' testing PositionTable ... ok: '9012 + 3456' = '9012 + 3456' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '7890' = '7890' testing PositionTable ... ok: 'resend.+ 7890' = 'resend.+ 7890' testing PositionTable ... ok: 'resend.+ 7890' = 'resend.+ 7890' testing PositionTable ... ok: 'resend.+ 7890' = 'resend.+ 7890' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '38' = '38' testing PositionTable ... ok: 'parent.+ 38' = 'parent.+ 38' testing PositionTable ... ok: 'parent.+ 38' = 'parent.+ 38' testing PositionTable ... ok: 'parent.+ 38' = 'parent.+ 38' testing Table size ... ok: 22 = 22 testing PositionTable ... ok: 'c' = 'c' testing PositionTable ... ok: 'd' = 'd' testing PositionTable ... ok: 'a: c B: d' = 'a: c B: d' testing PositionTable ... ok: 'a: c B: d' = 'a: c B: d' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'e' = 'e' testing PositionTable ... ok: 'f' = 'f' testing PositionTable ... ok: 'g' = 'g' testing PositionTable ... ok: 'e a: f B: g' = 'e a: f B: g' testing PositionTable ... ok: 'e a: f B: g' = 'e a: f B: g' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'h' = 'h' testing PositionTable ... ok: 'i' = 'i' testing PositionTable ... ok: 'resend.a: h B: i' = 'resend.a: h B: i' testing PositionTable ... ok: 'resend.a: h B: i' = 'resend.a: h B: i' testing PositionTable ... ok: 'resend.a: h B: i' = 'resend.a: h B: i' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'h' = 'h' testing PositionTable ... ok: 'i' = 'i' testing PositionTable ... ok: 'parent.a: h B: i' = 'parent.a: h B: i' testing PositionTable ... ok: 'parent.a: h B: i' = 'parent.a: h B: i' testing PositionTable ... ok: 'parent.a: h B: i' = 'parent.a: h B: i' testing Table size ... ok: 23 = 23 testing PositionTable ... ok: '12' = '12' testing PositionTable ... ok: '78' = '78' testing PositionTable ... ok: 'unary' = 'unary' testing PositionTable ... ok: '^5678' = '^5678' To debug in ui2, type: selfProcessModel debugProcess: 69 as to debug in console, type: attach: 69 to dump stack, type: 69 as printError. killing killing again raising inlining thresholds restoring inlining thresholds testing June 2005 bug ... ok: true = true [Tue Jul 07 05:17:56 2026] error -- No 'c' slot found in tests killTwiceTestObj. testing +N / +N ... ok: 2 = 2 testing -N / +N ... ok: 2 = 2 testing +N / -N ... ok: 2 = 2 testing -N / -N ... ok: 2 = 2 testing +N % +N ... ok: 2 = 2 testing -N % +N ... ok: 2 = 2 testing +N % -N ... ok: 2 = 2 testing -N % -N ... ok: 2 = 2 testing division by 1 ... ok: 1 = 1 testing division by 1 ... ok: 0 = 0 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -1 = -1 testing division borderlines ... ok: 0 = 0 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division with tags ... ok: -12 = -12 testing division with tags ... ok: -6 = -6 testing division with tags ... ok: -4 = -4 testing division with tags ... ok: -3 = -3 running message interception and resending ... x - 1 -> 22 x = 23 -> true x == 23 -> true 23 == x -> false value: a sender running message interception and broadcasting ... 3abcvalue: a transmitter running message interception and resending ... x - 1 -> 22 x = 23 -> true x == 23 -> true 23 == x -> false value: a sender running message interception and broadcasting ... 3abcvalue: a transmitter Testing the parser... running parser testXYZ ... xyzvalue: an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'xyz') running parser testOnePlusTwo ... 1 + 2value: an oldParser parseNodes binarySend(1, '+', 2) running parser testRandom ... 3 + nil "*" a<-:a: b + c d e B<-:B: "'asd'" size C<-:C: a<-:a: 3value: an oldParser parseNodes keywordSend(an oldParser parseNodes binarySend(3, '+', an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'nil')), 'a:B:C:', a list(an oldParser parseNodes binarySend, an oldParser parseNodes unarySend, an oldParser parseNodes keywordSend)) running parser testAddPoints ... (clone x<-:x: x + p x) y<-:y: y + p yvalue: an oldParser parseNodes keywordSend(an oldParser parseNodes methodObject(an oldParser parseNodes slotList, an oldParser parseNodes statements), 'y:', a list(an oldParser parseNodes binarySend)) Testing the parser... running parser testXYZ ... xyzvalue: an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'xyz') running parser testOnePlusTwo ... 1 + 2value: an oldParser parseNodes binarySend(1, '+', 2) running parser testRandom ... 3 + nil "*" a<-:a: b + c d e B<-:B: "'asd'" size C<-:C: a<-:a: 3value: an oldParser parseNodes keywordSend(an oldParser parseNodes binarySend(3, '+', an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'nil')), 'a:B:C:', a list(an oldParser parseNodes binarySend, an oldParser parseNodes unarySend, an oldParser parseNodes keywordSend)) running parser testAddPoints ... (clone x<-:x: x + p x) y<-:y: y + p yvalue: an oldParser parseNodes keywordSend(an oldParser parseNodes methodObject(an oldParser parseNodes slotList, an oldParser parseNodes statements), 'y:', a list(an oldParser parseNodes binarySend)) testing browsingTest ... ok: true = true parsing all methods' sources ... ok Testing adding slots to smallInt, float and block parents ... ok Testing message lookup... testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing argument lookup ... ok: 'xa3' = 'xa3' testing argument lookup ... ok: 'xa4' = 'xa4' testing argument lookup ... ok: 'xa5' = 'xa5' testing argument lookup ... ok: 'xa6' = 'xa6' testing argument lookup ... ok: 'xa7' = 'xa7' testing argument lookup ... ok: 'xa8' = 'xa8' testing argument lookup ... ok: 'xa9' = 'xa9' testing argument lookup ... ok: 'xa10' = 'xa10' testing argument lookup ... ok: 'xa11' = 'xa11' testing argument lookup ... ok: 'xa12' = 'xa12' testing argument lookup ... ok: 'xa13' = 'xa13' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' #0 <0x294de368 @ 0x19075600 nic # 0> (./core/process.self:850): lowLevelStackTrace = ( | self* = <32>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) expression stack: { 0 } current byte code: 3: implicit self send: _PrintProcessStackIfFail: 1 arguments #1 <0x294de398 @ 0x191e9300 nic # 0> (./tests/tests.self:985): lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: = ( | self* = <36>. :xa1 = 'xa1'. :xa2 = 'xa2'. :xa3 = 'xa3'. :xa4 = 'xa4'. :xa5 = 'xa5'. :xa6 = 'xa6'. :xa7 = 'xa7'. :xa8 = 'xa8'. :xa9 = 'xa9'. :xa10 = 'xa10'. :xa11 = 'xa11'. :xa12 = 'xa12'. :xa13 = 'xa13'. :recursive = false. w <- false "nil". xm1 <- 'xm1'. xm10 <- 'xm10'. xm11 <- 'xm11'. xm12 <- 'xm12'. xm2 <- 'xm2'. xm3 <- 'xm3'. xm4 <- 'xm4'. xm5 <- 'xm5'. xm6 <- 'xm6'. xm7 <- 'xm7'. xm8 <- 'xm8'. xm9 <- 'xm9'. | check: xa1 Against: 'xa1' Named: 'argument lookup'. check: xa2 Against: 'xa2' Named: 'argument lookup'. check: xa3 Against: 'xa3' Named: 'argument lookup'. check: xa4 Against: 'xa4' Named: 'argument lookup'. check: xa5 Against: 'xa5' Named: 'argument lookup'. check: xa6 Against: 'xa6' Named: 'argument lookup'. check: xa7 Against: 'xa7' Named: 'argument lookup'. check: xa8 Against: 'xa8' Named: 'argument lookup'. check: xa9 Against: 'xa9' Named: 'argument lookup'. check: xa10 Against: 'xa10' Named: 'argument lookup'. check: xa11 Against: 'xa11' Named: 'argument lookup'. check: xa12 Against: 'xa12' Named: 'argument lookup'. check: xa13 Against: 'xa13' Named: 'argument lookup'. check: xm1 Against: 'xm1' Named: 'local lookup'. check: xm2 Against: 'xm2' Named: 'local lookup'. check: xm3 Against: 'xm3' Named: 'local lookup'. check: xm4 Against: 'xm4' Named: 'local lookup'. check: xm5 Against: 'xm5' Named: 'local lookup'. check: xm6 Against: 'xm6' Named: 'local lookup'. check: xm7 Against: 'xm7' Named: 'local lookup'. check: xm8 Against: 'xm8' Named: 'local lookup'. check: xm9 Against: 'xm9' Named: 'local lookup'. check: xm10 Against: 'xm10' Named: 'local lookup'. check: xm11 Against: 'xm11' Named: 'local lookup'. check: xm12 Against: 'xm12' Named: 'local lookup'. memory scavenge. "test scavenging of extra args" w: _WizardMode: true. "include expr stack in stack trace" process this lowLevelStackTrace. "should break if scavenge isn't ok" _WizardMode: w. recursive ifFalse: [ lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ]. self ) expression stack: { <32> } current byte code: 203: send: lowLevelStackTrace 0 arguments #2 <0x294de408 @ 0x191e9000 nic # 0> (./tests/tests.self:816): lookupTest = ( | self* = <36>. | 'Testing message lookup...' printLine. lookupTest: 'xa1' Xa2: 'xa2' Xa3: 'xa3' Xa4: 'xa4' Xa5: 'xa5' Xa6: 'xa6' Xa7: 'xa7' Xa8: 'xa8' Xa9: 'xa9' Xa10: 'xa10' Xa11: 'xa11' Xa12: 'xa12' Xa13: 'xa13' Recursive: false. lookupTest: 'xa1' Xa2: 'xa2'. self ) expression stack: { 'xa1', 'xa2', 'xa3', 'xa4', 'xa5', 'xa6', 'xa7', 'xa8', 'xa9', 'xa10', 'xa11', 'xa12', 'xa13', false } current byte code: 20: implicit self send: lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: 14 arguments #3 <0x294de498 @ 0x191e41e0 nic # 0> (./tests/tests.self:2195): value = [ | []* = <0x294de508 # 0>. | immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] current byte code: 3: implicit self send: lookupTest 0 arguments #4 <0x294de4c8*@ 0x19398540 deb # 0> (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <37>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) current byte code: 35: implicit self send: value 0 arguments #5 <0x294de508*@ 0x190cb8c0 nic # 0> (./tests/tests.self:2190): runVMSuite = ( | self* = <36>. errorMessages <- <38> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) expression stack: { <37> } current byte code: 10: send: withAndWithoutInlining 0 arguments #6 <0x294de538 @ 0x190c8540 nic # 0> (./tests/tests.self:2051): runAllTests = ( | self* = <36>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) current byte code: 3: implicit self send: runVMSuite 0 arguments #7 <0x294de568 @ 0x190c8360 nic # 0> (./tests/tests.self:2169): value = [ | []* = <0x294de5a8 # 0>. | runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] current byte code: 1: implicit self send: runAllTests 0 arguments #8 <0x294de588 @ 0x190baea0 nic # 0> (./core/prompt.self:483): suspendWhile: = ( | self* = <39>. :b = <40>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) expression stack: { <40> } current byte code: 8: send: value 0 arguments #9 <0x294de5a8 @ 0x190baa60 nic # 0> (./tests/tests.self:2168): value = [ | []* = <0x294de5f8 # 0>. | prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] expression stack: { <39>, <40> } current byte code: 4: send: suspendWhile: 1 arguments #10 <0x294de5d8 @ 0x190768a0 sic # 17> (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <41>. :b2 = nil. | b1 value ) expression stack: { <41> } current byte code: 2: send: value 0 arguments #11 <0x294de5d8 @ 0x190768a0 sic # 0> (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <41>. | ifTrue: b False: nil ) expression stack: { <41>, nil } current byte code: 4: implicit self send: ifTrue:False: 2 arguments #12 <0x294de5f8 @ 0x190ba8e0 nic # 0> (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <36>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) expression stack: { true, <41> } current byte code: 4: send: ifTrue: 1 arguments testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing argument lookup ... ok: 'xa3' = 'xa3' testing argument lookup ... ok: 'xa4' = 'xa4' testing argument lookup ... ok: 'xa5' = 'xa5' testing argument lookup ... ok: 'xa6' = 'xa6' testing argument lookup ... ok: 'xa7' = 'xa7' testing argument lookup ... ok: 'xa8' = 'xa8' testing argument lookup ... ok: 'xa9' = 'xa9' testing argument lookup ... ok: 'xa10' = 'xa10' testing argument lookup ... ok: 'xa11' = 'xa11' testing argument lookup ... ok: 'xa12' = 'xa12' testing argument lookup ... ok: 'xa13' = 'xa13' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' #0 <0x294de248 @ 0x19075600 nic # 0> (./core/process.self:850): lowLevelStackTrace = ( | self* = <32>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) expression stack: { 0 } current byte code: 3: implicit self send: _PrintProcessStackIfFail: 1 arguments #1 <0x294de278 @ 0x191e9300 nic # 0> (./tests/tests.self:985): lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: = ( | self* = <36>. :xa1 = 'xa1'. :xa2 = 'xa2'. :xa3 = 'xa3'. :xa4 = 'xa4'. :xa5 = 'xa5'. :xa6 = 'xa6'. :xa7 = 'xa7'. :xa8 = 'xa8'. :xa9 = 'xa9'. :xa10 = 'xa10'. :xa11 = 'xa11'. :xa12 = 'xa12'. :xa13 = 'xa13'. :recursive = true. w <- false "nil". xm1 <- 'xm1'. xm10 <- 'xm10'. xm11 <- 'xm11'. xm12 <- 'xm12'. xm2 <- 'xm2'. xm3 <- 'xm3'. xm4 <- 'xm4'. xm5 <- 'xm5'. xm6 <- 'xm6'. xm7 <- 'xm7'. xm8 <- 'xm8'. xm9 <- 'xm9'. | check: xa1 Against: 'xa1' Named: 'argument lookup'. check: xa2 Against: 'xa2' Named: 'argument lookup'. check: xa3 Against: 'xa3' Named: 'argument lookup'. check: xa4 Against: 'xa4' Named: 'argument lookup'. check: xa5 Against: 'xa5' Named: 'argument lookup'. check: xa6 Against: 'xa6' Named: 'argument lookup'. check: xa7 Against: 'xa7' Named: 'argument lookup'. check: xa8 Against: 'xa8' Named: 'argument lookup'. check: xa9 Against: 'xa9' Named: 'argument lookup'. check: xa10 Against: 'xa10' Named: 'argument lookup'. check: xa11 Against: 'xa11' Named: 'argument lookup'. check: xa12 Against: 'xa12' Named: 'argument lookup'. check: xa13 Against: 'xa13' Named: 'argument lookup'. check: xm1 Against: 'xm1' Named: 'local lookup'. check: xm2 Against: 'xm2' Named: 'local lookup'. check: xm3 Against: 'xm3' Named: 'local lookup'. check: xm4 Against: 'xm4' Named: 'local lookup'. check: xm5 Against: 'xm5' Named: 'local lookup'. check: xm6 Against: 'xm6' Named: 'local lookup'. check: xm7 Against: 'xm7' Named: 'local lookup'. check: xm8 Against: 'xm8' Named: 'local lookup'. check: xm9 Against: 'xm9' Named: 'local lookup'. check: xm10 Against: 'xm10' Named: 'local lookup'. check: xm11 Against: 'xm11' Named: 'local lookup'. check: xm12 Against: 'xm12' Named: 'local lookup'. memory scavenge. "test scavenging of extra args" w: _WizardMode: true. "include expr stack in stack trace" process this lowLevelStackTrace. "should break if scavenge isn't ok" _WizardMode: w. recursive ifFalse: [ lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ]. self ) expression stack: { <32> } current byte code: 203: send: lowLevelStackTrace 0 arguments #2 <0x294de2e8 @ 0x19110660 nic # 0> (./tests/tests.self:1015): value = [ | []* = <0x294de398 # 0>. | lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ] expression stack: { 'xa1', 'xa2', 'xa3', 'xa4', 'xa5', 'xa6', 'xa7', 'xa8', 'xa9', 'xa10', 'xa11', 'xa12', 'xa13', true } current byte code: 29: implicit self send: lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: 14 arguments #3 <0x294de378 @ 0x190014a0 sic # 17> (./core/boolean.self:42): ifTrue:False: = ( | self* = false. :b1 = nil. :b2 = <70>. | b2 value ) expression stack: { <70> } current byte code: 2: send: value 0 arguments #4 <0x294de378 @ 0x190014a0 sic # 0> (./core/boolean.self:223): ifFalse: = ( | self* = false. :b = <70>. | ifTrue: nil False: b ) expression stack: { nil, <70> } current byte code: 4: implicit self send: ifTrue:False: 2 arguments #5 <0x294de398 @ 0x191e9300 nic # 0> (./tests/tests.self:985): lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: = ( | self* = <36>. :xa1 = 'xa1'. :xa2 = 'xa2'. :xa3 = 'xa3'. :xa4 = 'xa4'. :xa5 = 'xa5'. :xa6 = 'xa6'. :xa7 = 'xa7'. :xa8 = 'xa8'. :xa9 = 'xa9'. :xa10 = 'xa10'. :xa11 = 'xa11'. :xa12 = 'xa12'. :xa13 = 'xa13'. :recursive = false. w <- false "nil". xm1 <- 'xm1'. xm10 <- 'xm10'. xm11 <- 'xm11'. xm12 <- 'xm12'. xm2 <- 'xm2'. xm3 <- 'xm3'. xm4 <- 'xm4'. xm5 <- 'xm5'. xm6 <- 'xm6'. xm7 <- 'xm7'. xm8 <- 'xm8'. xm9 <- 'xm9'. | check: xa1 Against: 'xa1' Named: 'argument lookup'. check: xa2 Against: 'xa2' Named: 'argument lookup'. check: xa3 Against: 'xa3' Named: 'argument lookup'. check: xa4 Against: 'xa4' Named: 'argument lookup'. check: xa5 Against: 'xa5' Named: 'argument lookup'. check: xa6 Against: 'xa6' Named: 'argument lookup'. check: xa7 Against: 'xa7' Named: 'argument lookup'. check: xa8 Against: 'xa8' Named: 'argument lookup'. check: xa9 Against: 'xa9' Named: 'argument lookup'. check: xa10 Against: 'xa10' Named: 'argument lookup'. check: xa11 Against: 'xa11' Named: 'argument lookup'. check: xa12 Against: 'xa12' Named: 'argument lookup'. check: xa13 Against: 'xa13' Named: 'argument lookup'. check: xm1 Against: 'xm1' Named: 'local lookup'. check: xm2 Against: 'xm2' Named: 'local lookup'. check: xm3 Against: 'xm3' Named: 'local lookup'. check: xm4 Against: 'xm4' Named: 'local lookup'. check: xm5 Against: 'xm5' Named: 'local lookup'. check: xm6 Against: 'xm6' Named: 'local lookup'. check: xm7 Against: 'xm7' Named: 'local lookup'. check: xm8 Against: 'xm8' Named: 'local lookup'. check: xm9 Against: 'xm9' Named: 'local lookup'. check: xm10 Against: 'xm10' Named: 'local lookup'. check: xm11 Against: 'xm11' Named: 'local lookup'. check: xm12 Against: 'xm12' Named: 'local lookup'. memory scavenge. "test scavenging of extra args" w: _WizardMode: true. "include expr stack in stack trace" process this lowLevelStackTrace. "should break if scavenge isn't ok" _WizardMode: w. recursive ifFalse: [ lookupTest: xa1 Xa2: xa2 Xa3: xa3 Xa4: xa4 Xa5: xa5 Xa6: xa6 Xa7: xa7 Xa8: xa8 Xa9: xa9 Xa10: xa10 Xa11: xa11 Xa12: xa12 Xa13: xa13 Recursive: true ]. self ) expression stack: { false, <70> } current byte code: 215: send: ifFalse: 1 arguments #6 <0x294de408 @ 0x191e9000 nic # 0> (./tests/tests.self:816): lookupTest = ( | self* = <36>. | 'Testing message lookup...' printLine. lookupTest: 'xa1' Xa2: 'xa2' Xa3: 'xa3' Xa4: 'xa4' Xa5: 'xa5' Xa6: 'xa6' Xa7: 'xa7' Xa8: 'xa8' Xa9: 'xa9' Xa10: 'xa10' Xa11: 'xa11' Xa12: 'xa12' Xa13: 'xa13' Recursive: false. lookupTest: 'xa1' Xa2: 'xa2'. self ) expression stack: { 'xa1', 'xa2', 'xa3', 'xa4', 'xa5', 'xa6', 'xa7', 'xa8', 'xa9', 'xa10', 'xa11', 'xa12', 'xa13', false } current byte code: 20: implicit self send: lookupTest:Xa2:Xa3:Xa4:Xa5:Xa6:Xa7:Xa8:Xa9:Xa10:Xa11:Xa12:Xa13:Recursive: 14 arguments #7 <0x294de498 @ 0x191e41e0 nic # 0> (./tests/tests.self:2195): value = [ | []* = <0x294de508 # 0>. | immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] current byte code: 3: implicit self send: lookupTest 0 arguments #8 <0x294de4c8*@ 0x19398540 deb # 0> (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <37>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) current byte code: 35: implicit self send: value 0 arguments #9 <0x294de508*@ 0x190cb8c0 nic # 0> (./tests/tests.self:2190): runVMSuite = ( | self* = <36>. errorMessages <- <38> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) expression stack: { <37> } current byte code: 10: send: withAndWithoutInlining 0 arguments #10 <0x294de538 @ 0x190c8540 nic # 0> (./tests/tests.self:2051): runAllTests = ( | self* = <36>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) current byte code: 3: implicit self send: runVMSuite 0 arguments #11 <0x294de568 @ 0x190c8360 nic # 0> (./tests/tests.self:2169): value = [ | []* = <0x294de5a8 # 0>. | runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] current byte code: 1: implicit self send: runAllTests 0 arguments #12 <0x294de588 @ 0x190baea0 nic # 0> (./core/prompt.self:483): suspendWhile: = ( | self* = <39>. :b = <40>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) expression stack: { <40> } current byte code: 8: send: value 0 arguments #13 <0x294de5a8 @ 0x190baa60 nic # 0> (./tests/tests.self:2168): value = [ | []* = <0x294de5f8 # 0>. | prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] expression stack: { <39>, <40> } current byte code: 4: send: suspendWhile: 1 arguments #14 <0x294de5d8 @ 0x190768a0 sic # 17> (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <41>. :b2 = nil. | b1 value ) expression stack: { <41> } current byte code: 2: send: value 0 arguments #15 <0x294de5d8 @ 0x190768a0 sic # 0> (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <41>. | ifTrue: b False: nil ) expression stack: { <41>, nil } current byte code: 4: implicit self send: ifTrue:False: 2 arguments #16 <0x294de5f8 @ 0x190ba8e0 nic # 0> (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <36>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) expression stack: { true, <41> } current byte code: 4: send: ifTrue: 1 arguments testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' testing receiver lookup ... ok: 'xr1' = 'xr1' testing receiver lookup ... ok: 'xr2' = 'xr2' testing parent lookup ... ok: 'xp1' = 'xp1' testing parent lookup ... ok: 'xp2' = 'xp2' testing block argument lookup ... ok: 'xba1' = 'xba1' testing block argument lookup ... ok: 'xba2' = 'xba2' testing block lookup ... ok: 'xb1' = 'xb1' testing block lookup ... ok: 'xb2' = 'xb2' testing argument lookup ... ok: 'xa1' = 'xa1' testing argument lookup ... ok: 'xa2' = 'xa2' testing local lookup ... ok: 'xm1' = 'xm1' testing local lookup ... ok: 'xm2' = 'xm2' testing local lookup ... ok: 'xm3' = 'xm3' testing local lookup ... ok: 'xm4' = 'xm4' testing local lookup ... ok: 'xm5' = 'xm5' testing local lookup ... ok: 'xm6' = 'xm6' testing local lookup ... ok: 'xm7' = 'xm7' testing local lookup ... ok: 'xm8' = 'xm8' testing local lookup ... ok: 'xm9' = 'xm9' testing local lookup ... ok: 'xm10' = 'xm10' testing local lookup ... ok: 'xm11' = 'xm11' testing local lookup ... ok: 'xm12' = 'xm12' testing receiver lookup ... ok: 'xr1' = 'xr1' testing receiver lookup ... ok: 'xr2' = 'xr2' testing parent lookup ... ok: 'xp1' = 'xp1' testing parent lookup ... ok: 'xp2' = 'xp2' testing nested argument lookup ... ok: 'xba1' = 'xba1' testing nested argument lookup ... ok: 'xba2' = 'xba2' testing nested block lookup ... ok: 'xb1' = 'xb1' testing nested block lookup ... ok: 'xb2' = 'xb2' testing parent in method ... ok: 42 = 42 testing parent in method ... ok: 43 = 43 Testing inheritance semantics... testing sends outside of sender path ... ok: 'b' = 'b' testing delegated sends ... ok: 'b' = 'b' testing merging parent paths ... ok: 'b' = 'b' testing sender path constraint ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing assignment result ... ok: true = true testing inherited assignment result ... ok: true = true Testing dynamic inheritance... testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'b' = 'b' testing di object fetch test ... ok: 'b' = 'b' testing di assignment result ... ok: true = true testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'a' = 'a' testing di object fetch test ... ok: 'b' = 'b' testing di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'a' = 'a' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing dual-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'a' = 'a' testing grand-di object fetch test ... ok: 'b' = 'b' testing grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'a' = 'a' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'messageAmbiguous' = 'messageAmbiguous' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' testing dual-grand-di object fetch test ... ok: 'b' = 'b' Testing unwind protection... testing normal return ... ok: 'normal return' = 'normal return' testing non-local return ... ok: 'non-local return (caught)' = 'non-local return (caught)' testing more non-local return ... ok: 'non-local return (caught) (and continued)' = 'non-local return (caught) (and continued)' testing NLR inlining ... ok Testing low level aspects ... testing materializing blocks in vectors ... ok: 'ok' = 'ok' testing nullTerminated strings ... ok: 'ok' = 'ok' testing getpid ... ok: 'ok' = 'ok' testing file: ... create write open read seek read seek seek read delete ok: 'ok' = 'ok' testing testTypeSizes ... ok: 'ok' = 'ok' testing testCTypes ... ok: 'ok' = 'ok' Testing mirror operations... testing mirror size test ... ok: 4 = 4 testing mirror slot name test ... ok: 'parent1' = 'parent1' testing mirror value test ... ok: a mirrors smallInt(on 17) = a mirrors smallInt(on 17) testing mirror long key test ... ok: 'parent2*' = 'parent2*' testing mirror source test ... ok: '17 + 4 asFloat' = '17 + 4 asFloat' testing mirror key test ... ok: 'aMethod: b With: a' = 'aMethod: b With: a' testing lexical parent test ... ok: true = true testing naked method test ... ok: true = true testing naked method test ... ok: false = false Testing path cache and enumeration operations... Starting: Thoroughly cleaning up memory...... Finished: Thoroughly cleaning up memory... testing enumerate all test ... ok: true = true Starting: Thoroughly cleaning up memory...... Finished: Thoroughly cleaning up memory... testing enumerate references test ... ok: true = true Starting: Thoroughly cleaning up memory...... Finished: Thoroughly cleaning up memory... testing enumerate implementors test ... ok: true = true testing time test ... ok: true = true running lowLevelStackTrace... #0 (./core/process.self:850): lowLevelStackTrace = ( | self* = <74>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) #1 (./tests/tests.self:2469): value: = [ | :x = <75>. n <- 20 "17". | n: 20. process this lowLevelStackTrace. x. ] #2 (./core/defaultBehavior.self:420): value:With: = ( | self* = <76>. :a = <75>. :b = <77>. | value: a ) #3 (./tests/tests.self:2468): stackTest = ( | self* = <78>. m = 'test local'. q <- 'another test local'. | 'running lowLevelStackTrace...' printLine. [ | :x. n <- 17. | n: 20. process this lowLevelStackTrace. x. ] value: vector copy With: list copyRemoveAll. self ) #4 (./tests/tests.self:2195): value = [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] #5 (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <79>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) #6 (./tests/tests.self:2190): runVMSuite = ( | self* = <78>. errorMessages <- <80> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) #7 (./tests/tests.self:2051): runAllTests = ( | self* = <78>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) #8 (./tests/tests.self:2169): value = [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] #9 (./core/prompt.self:483): suspendWhile: = ( | self* = <81>. :b = <82>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) #10 (./tests/tests.self:2168): value = [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] #11 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <83>. :b2 = nil. | b1 value ) #12 (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <83>. | ifTrue: b False: nil ) #13 (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <78>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) Testing perform primitive... running perform stackTest ... running lowLevelStackTrace... #0 (./core/process.self:850): lowLevelStackTrace = ( | self* = <74>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) #1 (./tests/tests.self:2469): value: = [ | :x = <84>. n <- 20 "17". | n: 20. process this lowLevelStackTrace. x. ] #2 (./core/defaultBehavior.self:420): value:With: = ( | self* = <85>. :a = <84>. :b = <86>. | value: a ) #3 (./tests/tests.self:2468): stackTest = ( | self* = <78>. m = 'test local'. q <- 'another test local'. | 'running lowLevelStackTrace...' printLine. [ | :x. n <- 17. | n: 20. process this lowLevelStackTrace. x. ] value: vector copy With: list copyRemoveAll. self ) #4 (./tests/tests.self:1983): value = [ _Perform: performStackTest ] #5 (./tests/tests.self:255): check:Named: = ( | self* = <78>. :xb = <87>. :n = 'perform stackTest'. x <- nil. | ('running ', n, ' ... ') print. x: xb value. ('value: ', x printString) printLine. self ) #6 (./tests/tests.self:1982): performTest = ( | self* = <78>. upLevel <- nil. | 'Testing perform primitive...' printLine. check: [ _Perform: performStackTest ] Named: 'perform stackTest'. check: [ 0 _Perform: performSumFromTo With: 1 With: 10000 ] Against: 50005000 Named: 'perform 0 sumFrom: 1 To: 10000'. check: [ _Perform: performStackTest With: 1 With: 'asd' ] Against: 'argumentMismatch' Named: 'perform with argument mismatch'. check: [ _Perform: performRandomMessage With: 23 ] Against: 'messageNotUnderstood' Named: 'perform randomMessage: 23'. check: [ _Perform: performNotAString ] Against: 'performTypeError' Named: 'perform 17'. check: [ _Perform: [upLevel] ] Against: 'performTypeError' Named: 'perform [upLevel]'. check: [ _Perform: performEvalTest ] Against: 6 Named: 'perform evalTest'. check: [ nlrEvalTest ] Against: 'nlrResult' Named: 'nlrEvalTest'. self ) #7 (./tests/tests.self:2195): value = [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] #8 (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <79>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) #9 (./tests/tests.self:2190): runVMSuite = ( | self* = <78>. errorMessages <- <80> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) #10 (./tests/tests.self:2051): runAllTests = ( | self* = <78>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) #11 (./tests/tests.self:2169): value = [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] #12 (./core/prompt.self:483): suspendWhile: = ( | self* = <81>. :b = <82>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) #13 (./tests/tests.self:2168): value = [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] #14 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <83>. :b2 = nil. | b1 value ) #15 (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <83>. | ifTrue: b False: nil ) #16 (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <78>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) value: tests testing perform 0 sumFrom: 1 To: 10000 ... ok: 50005000 = 50005000 testing perform with argument mismatch ... ok: 'argumentMismatch' = 'argumentMismatch' testing perform randomMessage: 23 ... ok: 'messageNotUnderstood' = 'messageNotUnderstood' testing perform 17 ... ok: 'performTypeError' = 'performTypeError' testing perform [upLevel] ... ok: 'performTypeError' = 'performTypeError' testing perform evalTest ... #0 (./core/process.self:850): lowLevelStackTrace = ( | self* = <74>. | _PrintProcessStackIfFail: ['\n\n' print]. self ) #1 (./tests/tests.self:2028): value = [ process this lowLevelStackTrace. 1 ] #2 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <88>. :b2 = <89>. | b1 value ) #3 (./tests/tests.self:2026): perverseFac: = ( | self* = <78>. :n = 1. | n <= 1 ifTrue: [ process this lowLevelStackTrace. 1 ] False: [ | s | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] ) #4 (:1): = ( | self* = lobby. | tests perverseFac: 1 ) #5 (./core/mirror.self:1133): forMirror:Evaluate: = ( | self* = <90>. :m = <91>. :otherMir = <92>. | m _MirrorEvaluate: otherMir ) #6 (./core/mirror.self:1910): evaluate: = ( | self* = <91>. :m = <92>. | reflectionPrimitives forMirror: self Evaluate: m ) #7 (./core/string.self:906): value = [ ctxt evaluate: m ] #8 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <93>. :b2 = <94>. | b1 value ) #9 (./core/string.self:905): evalInContext:FileName:IfFail: = ( | self* = <95>. :ctxt = <91>. :name = ''. :block = <96>. m <- <92> "nil". | m: parseObjectBodyFileName: name IfFail: [ | :e | ^ block value: e ]. m isReflecteeMethod ifTrue: [ ctxt evaluate: m ] False: [ m reflectee ] ) #10 (./core/string.self:887): evalIfFail: = ( | self* = <95>. :block = <96>. | evalInContext: (reflect: lobby) FileName: '' IfFail: block ) #11 (./core/string.self:879): eval = ( | self* = <95>. | evalIfFail: [|:e| error: 'couldn\'t parse: ', e printString] ) #12 (./tests/tests.self:2031): value = [ | s <- <95> "nil". | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] #13 (./core/boolean.self:42): ifTrue:False: = ( | self* = false. :b1 = <97>. :b2 = <98>. | b2 value ) #14 (./tests/tests.self:2026): perverseFac: = ( | self* = <78>. :n = 2. | n <= 1 ifTrue: [ process this lowLevelStackTrace. 1 ] False: [ | s | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] ) #15 (:1): = ( | self* = lobby. | tests perverseFac: 2 ) #16 (./core/mirror.self:1133): forMirror:Evaluate: = ( | self* = <90>. :m = <99>. :otherMir = <100>. | m _MirrorEvaluate: otherMir ) #17 (./core/mirror.self:1910): evaluate: = ( | self* = <99>. :m = <100>. | reflectionPrimitives forMirror: self Evaluate: m ) #18 (./core/string.self:906): value = [ ctxt evaluate: m ] #19 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <101>. :b2 = <102>. | b1 value ) #20 (./core/string.self:905): evalInContext:FileName:IfFail: = ( | self* = <103>. :ctxt = <99>. :name = ''. :block = <104>. m <- <100> "nil". | m: parseObjectBodyFileName: name IfFail: [ | :e | ^ block value: e ]. m isReflecteeMethod ifTrue: [ ctxt evaluate: m ] False: [ m reflectee ] ) #21 (./core/string.self:887): evalIfFail: = ( | self* = <103>. :block = <104>. | evalInContext: (reflect: lobby) FileName: '' IfFail: block ) #22 (./core/string.self:879): eval = ( | self* = <103>. | evalIfFail: [|:e| error: 'couldn\'t parse: ', e printString] ) #23 (./tests/tests.self:2031): value = [ | s <- <103> "nil". | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] #24 (./core/boolean.self:42): ifTrue:False: = ( | self* = false. :b1 = <105>. :b2 = <106>. | b2 value ) #25 (./tests/tests.self:2026): perverseFac: = ( | self* = <78>. :n = 3. | n <= 1 ifTrue: [ process this lowLevelStackTrace. 1 ] False: [ | s | s: 'tests perverseFac: ', (n - 1) printString. s eval * n ] ) #26 (./tests/tests.self:639): evalTest = ( | self* = <78>. | perverseFac: 3 ) #27 (./tests/tests.self:1995): value = [ _Perform: performEvalTest ] #28 (./tests/tests.self:239): check:Against:Named: = ( | self* = <78>. :xb = <107>. :yb = 6. :n = 'perform evalTest'. x <- nil. xs <- nil. y <- nil. ys <- nil. | ('testing ', n, ' ... ') print. x: xb value. y: yb value. xs: x printString. ys: y printString. x = y ifFalse: [ error: '', xs, ' != ', ys ]. ('ok: ', xs, ' = ', ys) printLine. self ) #29 (./tests/tests.self:1982): performTest = ( | self* = <78>. upLevel <- nil. | 'Testing perform primitive...' printLine. check: [ _Perform: performStackTest ] Named: 'perform stackTest'. check: [ 0 _Perform: performSumFromTo With: 1 With: 10000 ] Against: 50005000 Named: 'perform 0 sumFrom: 1 To: 10000'. check: [ _Perform: performStackTest With: 1 With: 'asd' ] Against: 'argumentMismatch' Named: 'perform with argument mismatch'. check: [ _Perform: performRandomMessage With: 23 ] Against: 'messageNotUnderstood' Named: 'perform randomMessage: 23'. check: [ _Perform: performNotAString ] Against: 'performTypeError' Named: 'perform 17'. check: [ _Perform: [upLevel] ] Against: 'performTypeError' Named: 'perform [upLevel]'. check: [ _Perform: performEvalTest ] Against: 6 Named: 'perform evalTest'. check: [ nlrEvalTest ] Against: 'nlrResult' Named: 'nlrEvalTest'. self ) #30 (./tests/tests.self:2195): value = [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] #31 (./core/blockTests.self:453): withAndWithoutInlining = ( | self* = <79>. i <- true "nil". | _Interpret ifTrue: [^self]. (_Compilers size = 1) && [_Compilers first = 'nic'] ifTrue: [^ value]. i: _Inline. _Inline: false. _Flush. value. _Inline: true. _Flush. value. _Inline: i. _Flush. self ) #32 (./tests/tests.self:2190): runVMSuite = ( | self* = <78>. errorMessages <- <80> "nil". | errorMessages: list copyRemoveAll. startOfTests. eqInliningRelocationTest. [ immediateTest. "conversionPrologueTest." " - weird test that takes too long - rca 2023" lookupTest. parentInMethodTest. inheritanceTest. diTest. unwindProtectTest. nlrInliningTest. lowLevelTest. resending run. mirrorTest. enumerationTest. timeTest. stackTest. performTest. branches run. programming run. diProgramming run. programmingPrims run. performConversionTest. positionTableTest. killTwiceTest. sicAllocationTest. june2005BugTest. divAndModTest. [ messageTest ] twiceWithInlineCacheFlushingBetween. [ parserTest ] twiceWithInlineCacheFlushingBetween. _Interpret ifFalse: [ browsingTest. sourceStringTest ]. ] withAndWithoutInlining. snapshotWritingTest. "no point in doing this twice" endOfTests: errorMessages. self ) #33 (./tests/tests.self:2051): runAllTests = ( | self* = <78>. | runSelfSuite. runVMSuite. benchmarkTest. "too slow without inlining" "Do last, cause cannot turn it back on without snapshotting--dmu 12/92" uncanonicalizedMapsTest. _Verify. self ) #34 (./tests/tests.self:2169): value = [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit ] #35 (./core/prompt.self:483): suspendWhile: = ( | self* = <81>. :b = <82>. t <- nil. | inputLoopProcess suspend. stdin reset. t: b value. stdin reset. inputLoopProcess resume. printPrompt. t ) #36 (./tests/tests.self:2168): value = [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit] ] #37 (./core/boolean.self:170): ifTrue:False: = ( | self* = true. :b1 = <83>. :b2 = nil. | b1 value ) #38 (./core/boolean.self:237): ifTrue: = ( | self* = true. :b = <83>. | ifTrue: b False: nil ) #39 (./tests/tests.self:2167): runTestsAutomaticallyOnStartup = ( | self* = <78>. | runTestsAutomaticallyOnStartupFlag ifTrue: [ prompt suspendWhile: [ runAllTests. '\n\nTests have ended.\n\n' print. '---END-OF-TESTS---' print. _Quit]]. self ) ok: 6 = 6 testing nlrEvalTest ... ok: 'nlrResult' = 'nlrResult' Testing branches ... testing NIC test forward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testFwdUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 testing NIC test backward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 53 in method testBigStackA:B:C:D:E:F:G:H:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on true test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method min:And:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on true test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method min:And:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on false test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method max:And:; The debug information will be incorrect.--dmu 9/96 testing NIC simple branch on false test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method max:And:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by string...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by -1...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by out of range...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by 0...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by 1...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed by 2...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing NIC branch indexed in loop...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches testing block zapping w/ backward branches Warning: 1 slot exists without belonging to any module. To examine these slots, 1. Select "Changed Modules" from the middle-button background menu, 2. Select "Expatriate Slots" from the middle-button menu on the "Changed Modules" object. Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method blockZappingCalleeMethod; The debug information will be incorrect.--dmu 9/96 To debug in ui2, type: selfProcessModel debugProcess: 108 as to debug in console, type: attach: 108 to dump stack, type: 108 as printError. zapping, should execute zapped block testing SIC test forward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testFwdUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testFwdUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 testing SIC test backward unconditional branch...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testBackUnconditionalBranch; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 53 in method testBigStackA:B:C:D:E:F:G:H:; The debug information will be incorrect.--dmu 9/96 testing SIC simple branch on true test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method min:And:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method min:And:; The debug information will be incorrect.--dmu 9/96 testing SIC simple branch on true test... testing SIC simple branch on false test...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method max:And:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method max:And:; The debug information will be incorrect.--dmu 9/96 testing SIC simple branch on false test... testing SIC branch indexed by string...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 9 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 20 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 31 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: NIC found non-empty expression stack at branch target at bytecode 46 in method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method testThreeCases:; The debug information will be incorrect.--dmu 9/96 testing SIC branch indexed by -1... testing SIC branch indexed by out of range... testing SIC branch indexed by 0... testing SIC branch indexed by 1... testing SIC branch indexed by 2... testing SIC branch indexed in loop...Self VM warning: NIC found non-empty expression stack at branch target at bytecode 2 in method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method indexedInLoop:; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method a; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches Self VM warning: NIC found non-empty expression stack at branch target at bytecode 10 in method a; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method a; The debug information will be incorrect.--dmu 9/96 creating method from bytecodes w/ cond. branches testing block zapping w/ backward branches [Tue Jul 07 05:18:32 2026] error -- Self 4.0 cannot run a block after its enclosing method has returned. (Self cannot resume this process, either.) Self VM warning: SIC found non-empty expression stack at branch targetin method blockZappingCalleeMethod; The debug information will be incorrect.--dmu 9/96 Self VM warning: SIC found non-empty expression stack at branch targetin method blockZappingCalleeMethod; The debug information will be incorrect.--dmu 9/96 To debug in ui2, type: selfProcessModel debugProcess: 109 as to debug in console, type: attach: 109 to dump stack, type: 109 as printError. zapping, should execute zapped block Testing VM programming conversions... testing progTest1 ... ok: 'ok' = 'ok' testing progTest2 ... ok: 'ok' = 'ok' testing progTest3 ... ok: 'ok' = 'ok' testing progTest4 ... ok: 'ok' = 'ok' testing progTest5 ... ok: 'ok' = 'ok' testing progTest6 ... ok: 'ok' = 'ok' testing progTest7 ... ok: 'ok' = 'ok' testing progTest8 ... ok: 'ok' = 'ok' testing progTest9 ... ok: 'ok' = 'ok' testing progTest10 ... ok: 'ok' = 'ok' Testing VM programming conversions with DI... testing diProgTest1.1 ... ok: 'ok' = 'ok' testing diProgTest1.2 ... ok: 'ok' = 'ok' Testing VM programming conversions... testing progTest1 ... ok: 'ok' = 'ok' testing progTest2 ... ok: 'ok' = 'ok' testing progTest3 ... ok: 'ok' = 'ok' testing progTest4 ... ok: 'ok' = 'ok' testing progTest5 ... ok: 'ok' = 'ok' testing progTest6 ... ok: 'ok' = 'ok' testing progTest7 ... ok: 'ok' = 'ok' testing progTest8 ... ok: 'ok' = 'ok' testing progTest9 ... ok: 'ok' = 'ok' testing progTest10 ... ok: 'ok' = 'ok' testing testAddSlotsIfAbsent ... testing AddSlots primitives: ok: 'ok' = 'ok' testing testAddSlots ... testing AddSlots primitives: ok: 'ok' = 'ok' testing testPreserveMethodPointer ... testing preservation of links from literals to methods ok: 'ok' = 'ok' testing testMethodCreation ... ok: 'ok' = 'ok' testing testRemoveSlot ... testing _RemoveSlot primitives: ok: 'ok' = 'ok' testing testCopyAddArgumentSlot ... ok: 'ok' = 'ok' testing testCopyAtPut ... testing _MirrorCopyAtPut primitive: ok: 'ok' = 'ok' testing testCanonicalization ... ok: 'ok' = 'ok' *** Not running testConcurrentProgramming; see codeSlotsMap.h *** verifying newgen: eden from to oldgen: old1 old0 z p r S v O m N M i done Testing programming primitives... testing test1 ... ok: 'slotNameError' = 'slotNameError' testing test2 ... ok: 'unassignableSlotError' = 'unassignableSlotError' testing test3 ... ok: 'argumentCountError' = 'argumentCountError' testing test4 ... ok: 'lonelyAssignmentSlotError' = 'lonelyAssignmentSlotError' testing test6 ... ok: 'parentError' = 'parentError' testing test7 ... ok: 'ok' = 'ok' testing test8 ... ok: 'slotNameError' = 'slotNameError' testing test9 ... ok: 'argumentCountError' = 'argumentCountError' testing test10 ... ok: 'argumentCountError' = 'argumentCountError' testing test12 ... ok: true = true testing testA1 ... ok: 'ok' = 'ok' testing testA2 ... ok: mirrors assignment(on <-) = mirrors assignment(on <-) testing testA3 ... ok: 'ok' = 'ok' testing testA4 ... ok: 'ok' = 'ok' testing testA5 ... ok: 'ok' = 'ok' testing testA6 ... ok: true = true testing testA7 ... ok: true = true [Tue Jul 07 05:18:32 2026] error -- Self 4.0 cannot run a block after its enclosing method has returned. (Self cannot resume this process, either.) To debug in ui2, type: selfProcessModel debugProcess: 110 as to debug in console, type: attach: 110 to dump stack, type: 110 as printError. [Tue Jul 07 05:18:40 2026] error -- No 'foob' slot found in a tests conversionTestObj. 42 testing PositionTable ... ok: '-1' = '-1' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '23.456' = '23.456' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: ''string'' = ''string'' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '[]' = '[]' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '()' = '()' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '7890' = '7890' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'self' = 'self' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '_Prim' = '_Prim' testing Table size ... ok: 16 = 16 testing PositionTable ... ok: 'unary' = 'unary' testing PositionTable ... ok: 'unary unary' = 'unary unary' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '1234' = '1234' testing PositionTable ... ok: '1234 unary' = '1234 unary' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'resend.unary' = 'resend.unary' testing PositionTable ... ok: 'resend.unary' = 'resend.unary' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'parent.unary' = 'parent.unary' testing PositionTable ... ok: 'parent.unary' = 'parent.unary' testing Table size ... ok: 12 = 12 testing PositionTable ... ok: '1234' = '1234' testing PositionTable ... ok: '- 1234' = '- 1234' testing PositionTable ... ok: '- 1234' = '- 1234' testing PositionTable ... ok: '5678' = '5678' testing PositionTable ... ok: '- 1234 - 5678' = '- 1234 - 5678' testing PositionTable ... ok: '- 1234 - 5678' = '- 1234 - 5678' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '9012' = '9012' testing PositionTable ... ok: '3456' = '3456' testing PositionTable ... ok: '9012 + 3456' = '9012 + 3456' testing PositionTable ... ok: '9012 + 3456' = '9012 + 3456' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '7890' = '7890' testing PositionTable ... ok: 'resend.+ 7890' = 'resend.+ 7890' testing PositionTable ... ok: 'resend.+ 7890' = 'resend.+ 7890' testing PositionTable ... ok: 'resend.+ 7890' = 'resend.+ 7890' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: '38' = '38' testing PositionTable ... ok: 'parent.+ 38' = 'parent.+ 38' testing PositionTable ... ok: 'parent.+ 38' = 'parent.+ 38' testing PositionTable ... ok: 'parent.+ 38' = 'parent.+ 38' testing Table size ... ok: 22 = 22 testing PositionTable ... ok: 'c' = 'c' testing PositionTable ... ok: 'd' = 'd' testing PositionTable ... ok: 'a: c B: d' = 'a: c B: d' testing PositionTable ... ok: 'a: c B: d' = 'a: c B: d' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'e' = 'e' testing PositionTable ... ok: 'f' = 'f' testing PositionTable ... ok: 'g' = 'g' testing PositionTable ... ok: 'e a: f B: g' = 'e a: f B: g' testing PositionTable ... ok: 'e a: f B: g' = 'e a: f B: g' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'h' = 'h' testing PositionTable ... ok: 'i' = 'i' testing PositionTable ... ok: 'resend.a: h B: i' = 'resend.a: h B: i' testing PositionTable ... ok: 'resend.a: h B: i' = 'resend.a: h B: i' testing PositionTable ... ok: 'resend.a: h B: i' = 'resend.a: h B: i' testing PositionTable ... ok: '.' = '.' testing PositionTable ... ok: 'h' = 'h' testing PositionTable ... ok: 'i' = 'i' testing PositionTable ... ok: 'parent.a: h B: i' = 'parent.a: h B: i' testing PositionTable ... ok: 'parent.a: h B: i' = 'parent.a: h B: i' testing PositionTable ... ok: 'parent.a: h B: i' = 'parent.a: h B: i' testing Table size ... ok: 23 = 23 testing PositionTable ... ok: '12' = '12' testing PositionTable ... ok: '78' = '78' testing PositionTable ... ok: 'unary' = 'unary' testing PositionTable ... ok: '^5678' = '^5678' To debug in ui2, type: selfProcessModel debugProcess: 111 as to debug in console, type: attach: 111 to dump stack, type: 111 as printError. killing killing again raising inlining thresholds restoring inlining thresholds testing June 2005 bug ... ok: true = true testing +N / +N ... ok: 2 = 2 testing -N / +N ... ok: 2 = 2 testing +N / -N ... ok: 2 = 2 testing -N / -N ... ok: 2 = 2 testing +N % +N ... ok: 2 = 2 testing -N % +N ... ok: 2 = 2 testing +N % -N ... ok: 2 = 2 testing -N % -N ... ok: 2 = 2 testing division by 1 ... ok: 1 = 1 testing division by 1 ... ok: 0 = 0 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: -536870912 = -536870912 testing division borderlines ... ok: 536870911 = 536870911 testing division borderlines ... ok: -1 = -1 testing division borderlines ... ok: 0 = 0 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: -4 = -4 testing division ... ok: -2 = -2 testing division ... ok: -1 = -1 testing division ... ok: -1 = -1 testing division ... ok: 4 = 4 testing division ... ok: 2 = 2 testing division ... ok: 1 = 1 testing division ... ok: 1 = 1 testing division with tags ... ok: -12 = -12 testing division with tags ... ok: -6 = -6 testing division with tags ... ok: -4 = -4 testing division with tags ... ok: -3 = -3 running message interception and resending ... x - 1 -> 22 x = 23 -> true x == 23 -> true 23 == x -> false value: a sender running message interception and broadcasting ... 3abcvalue: a transmitter running message interception and resending ... x - 1 -> 22 x = 23 -> true x == 23 -> true 23 == x -> false value: a sender running message interception and broadcasting ... 3abcvalue: a transmitter Testing the parser... running parser testXYZ ... xyzvalue: an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'xyz') running parser testOnePlusTwo ... 1 + 2value: an oldParser parseNodes binarySend(1, '+', 2) running parser testRandom ... 3 + nil "*" a<-:a: b + c d e B<-:B: "'asd'" size C<-:C: a<-:a: 3value: an oldParser parseNodes keywordSend(an oldParser parseNodes binarySend(3, '+', an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'nil')), 'a:B:C:', a list(an oldParser parseNodes binarySend, an oldParser parseNodes unarySend, an oldParser parseNodes keywordSend)) running parser testAddPoints ... (clone x<-:x: x + p x) y<-:y: y + p yvalue: an oldParser parseNodes keywordSend(an oldParser parseNodes methodObject(an oldParser parseNodes slotList, an oldParser parseNodes statements), 'y:', a list(an oldParser parseNodes binarySend)) Testing the parser... running parser testXYZ ... xyzvalue: an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'xyz') running parser testOnePlusTwo ... 1 + 2value: an oldParser parseNodes binarySend(1, '+', 2) running parser testRandom ... 3 + nil "*" a<-:a: b + c d e B<-:B: "'asd'" size C<-:C: a<-:a: 3value: an oldParser parseNodes keywordSend(an oldParser parseNodes binarySend(3, '+', an oldParser parseNodes unarySend(an oldParser parseNodes implicitSelf, 'nil')), 'a:B:C:', a list(an oldParser parseNodes binarySend, an oldParser parseNodes unarySend, an oldParser parseNodes keywordSend)) running parser testAddPoints ... (clone x<-:x: x + p x) y<-:y: y + p yvalue: an oldParser parseNodes keywordSend(an oldParser parseNodes methodObject(an oldParser parseNodes slotList, an oldParser parseNodes statements), 'y:', a list(an oldParser parseNodes binarySend)) testing browsingTest ... ok: true = true parsing all methods' sources ... ok Testing writing a snapshot... testing 'test_snap' _WriteSnapshot ... ok: 'test_snap' = 'test_snap' verifying newgen: eden from to oldgen: old1 old0 z p r S v O m N M i done End of tests. running benchmarks ... compile mean min C min/C % r_sieve: 61 55 55 r_perm: 44 31 31 towers_r: 71 32 32 r_queens: 37 37 37 intmm_r: 37 48 48 quick_r: 99 32 32 bubble_r: 382 56 56 tree_r: 74 30 30 r_perm_oo: 42 36 36 r_towers_oo: 61 12 12 r_queens_oo: 48 18 18 r_intmm_oo: 159 54 54 r_quick_oo: 83 33 33 r_bubble_oo: 369 74 74 r_tree_oo: 70 28 28 r_puzzle: 131 244 244 quick2: 190 54 54 mergesort: 156 151 151 value: 1 Testing VM programming conversions... testing progTest1 ... ok: 'ok' = 'ok' testing progTest2 ... ok: 'ok' = 'ok' testing progTest3 ... ok: 'ok' = 'ok' testing progTest4 ... ok: 'ok' = 'ok' testing progTest5 ... ok: 'ok' = 'ok' testing progTest6 ... ok: 'ok' = 'ok' testing progTest7 ... ok: 'ok' = 'ok' testing progTest8 ... ok: 'ok' = 'ok' testing progTest9 ... ok: 'ok' = 'ok' testing progTest10 ... ok: 'ok' = 'ok' Testing VM programming conversions with DI... testing diProgTest1.1 ... ok: 'ok' = 'ok' testing diProgTest1.2 ... ok: 'ok' = 'ok' Testing VM programming conversions... testing progTest1 ... ok: 'ok' = 'ok' testing progTest2 ... ok: 'ok' = 'ok' testing progTest3 ... ok: 'ok' = 'ok' testing progTest4 ... ok: 'ok' = 'ok' testing progTest5 ... ok: 'ok' = 'ok' testing progTest6 ... ok: 'ok' = 'ok' testing progTest7 ... ok: 'ok' = 'ok' testing progTest8 ... ok: 'ok' = 'ok' testing progTest9 ... ok: 'ok' = 'ok' testing progTest10 ... ok: 'ok' = 'ok' testing testAddSlotsIfAbsent ... testing AddSlots primitives: ok: 'ok' = 'ok' testing testAddSlots ... testing AddSlots primitives: ok: 'ok' = 'ok' testing testPreserveMethodPointer ... testing preservation of links from literals to methods ok: 'ok' = 'ok' testing testMethodCreation ... ok: 'ok' = 'ok' testing testRemoveSlot ... testing _RemoveSlot primitives: ok: 'ok' = 'ok' testing testCopyAddArgumentSlot ... ok: 'ok' = 'ok' testing testCopyAtPut ... testing _MirrorCopyAtPut primitive: ok: 'ok' = 'ok' testing testCanonicalization ... ok: 'ok' = 'ok' *** Not running testConcurrentProgramming; see codeSlotsMap.h *** verifying newgen: eden from to oldgen: old1 old0 z p r S v O m N M i done Testing programming primitives... testing test1 ... ok: 'slotNameError' = 'slotNameError' testing test2 ... ok: 'unassignableSlotError' = 'unassignableSlotError' testing test3 ... ok: 'argumentCountError' = 'argumentCountError' testing test4 ... ok: 'lonelyAssignmentSlotError' = 'lonelyAssignmentSlotError' testing test6 ... ok: 'parentError' = 'parentError' testing test7 ... ok: 'ok' = 'ok' testing test8 ... ok: 'slotNameError' = 'slotNameError' testing test9 ... ok: 'argumentCountError' = 'argumentCountError' testing test10 ... ok: 'argumentCountError' = 'argumentCountError' testing test12 ... ok: true = true testing testA1 ... ok: 'ok' = 'ok' testing testA2 ... ok: mirrors assignment(on <-) = mirrors assignment(on <-) testing testA3 ... ok: 'ok' = 'ok' testing testA4 ... ok: 'ok' = 'ok' testing testA5 ... ok: 'ok' = 'ok' testing testA6 ... ok: true = true testing testA7 ... ok: true = true verifying newgen: eden from to oldgen: old1 old0 z p r S v O m N M i done Tests have ended. ---END-OF-TESTS---[15:19:16] Finished vm32 on FreeBSD i386 chroot (gcc)(B