Code Monkey home page Code Monkey logo

vz's Introduction

vz - Go binding with Apple Virtualization.framework

Build Go Reference

vz provides the power of the Apple Virtualization.framework in Go. Put here is block quote of overreview which is written what is Virtualization.framework from the document.

The Virtualization framework provides high-level APIs for creating and managing virtual machines (VM) on Apple silicon and Intel-based Mac computers. Use this framework to boot and run macOS or Linux-based operating systems in custom environments that you define. The framework supports the Virtual I/O Device (VIRTIO) specification, which defines standard interfaces for many device types, including network, socket, serial port, storage, entropy, and memory-balloon devices.

Usage

Please see the example directory.

Requirements

  • Higher or equal to macOS Big Sur (11.0.0).
  • Latest version of vz supports last two Go major releases and might work with older versions.

Installation

Initialize your project by creating a folder and then running go mod init github.com/your/repo (learn more) inside the folder. Then install vz with the go get command:

$ go get github.com/Code-Hex/vz/v3

Deprecated older versions (v1, v2).

Feature Overview

  • ✅ Virtualize Linux on a Mac (x86_64, arm64)
    • GUI Support
    • Boot Extensible Firmware Interface (EFI) ROM
    • Clipboard sharing through the SPICE agent
  • ✅ Virtualize macOS on Apple Silicon Macs (arm64)
    • Fetches the latest restore image supported by this host from the network
    • Start in recovery mode
  • ✅ Running Intel Binaries in Linux VMs with Rosetta (arm64)
  • Shared Directories
  • Virtio Sockets
  • ✅ Less dependent (only under golang.org/x/*)

Important

For binaries used in this package, you need to create an entitlements file like the one below and apply the following command.

vz.entitlements
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.security.virtualization</key>
	<true/>
</dict>
</plist>
$ codesign --entitlements vz.entitlements -s - <YOUR BINARY PATH>

A process must have the com.apple.security.virtualization entitlement to use the Virtualization APIs.

If you want to use VZBridgedNetworkDeviceAttachment, you need to add also com.apple.vm.networking entitlement.

Known compile-time warnings

If you compile using an older Xcode SDK, you will get the following warnings.

This example warns that macOS 12.3 API and macOS 13 API are not available in the binary build. This means these APIs are not available even if you are running this binary on a modern OS (macOS 12.3 or macOS 13).

$ go build .
# github.com/Code-Hex/vz/v3
In file included from _cgo_export.c:4:
In file included from socket.go:6:
In file included from ./virtualization_11.h:9:
./virtualization_helper.h:25:9: warning: macOS 12.3 API has been disabled [-W#pragma-messages]
./virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]

If you want to build a binary that can use the API on all operating systems, make sure the Xcode SDK is up-to-date.

You can check the version of the Xcode SDK available for each macOS on this site.

https://xcodereleases.com/

Version compatibility check

The package provides a mechanism for checking the availability of the respective API through error handling:

bootLoader, err := vz.NewEFIBootLoader()
if errors.Is(err, vz.ErrUnsupportedOSVersion) || errors.Is(err, vz.ErrBuildTargetOSVersion) {
  return fallbackBootLoader()
}
if err != nil {
  return nil, err
}
return bootLoader, nil

There are two items to check.

  1. API is compatible with the version of macOS
  2. The binary was built with the API enabled

Knowledge for the Apple Virtualization.framework

There is a lot of knowledge required to use this Apple Virtualization.framework, but the information is too scattered and very difficult to understand. In most cases, this can be found in the official documentation. However, the Linux kernel knowledge required to use the feature provided by this framework is not documented. Therefore, I have compiled the knowledge I have gathered so far into this wiki.

https://github.com/Code-Hex/vz/wiki

Anyone is free to edit this wiki. It would help someone if you could add information not listed here. Let's make a good wiki together!

Testing

If you want to contribute some code, you will need to add tests.

PUI PUI Linux is used to test this library. This Linux is designed to provide only the minimum functionality required for the Apple Virtualization.framework (Virtio), so the kernel file size is very small.

The test code uses the Makefile in the project root.

$ # Download PUI PUI Linux, Only required the first time.
$ make download_kernel
$ make test

Which projects use this library?

  • vfkit is a macOS command-line hypervisor for Apple and Intel CPUs that supports most of Apple's Virtualization Framework features.
  • Lima launches Linux virtual machines with automatic file sharing and port forwarding (similar to WSL2).
  • linuxkit is a toolkit for building custom minimal, immutable Linux distributions.

LICENSE

MIT License

vz's People

Contributors

akihirosuda avatar balajiv113 avatar cfergeau avatar code-hex avatar mpoindexter avatar paulcacheux avatar raikerian avatar ryancurrah avatar sam-caldwell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vz's Issues

Uncaught exception when using EFI bootloader with empty NVRAM file

Describe the bug
If I try to start a VM using EFI with an empty NVRAM file (eg a file created using touch NVRAM), example/linux/virtualization aborts with libc++abi: terminating due to uncaught exception of type Base::bad_expected_access<void>: std::exception

To Reproduce
Steps to reproduce the behavior:
https://github.com/cfergeau/vz/tree/exception makes some changes to example/linux which trigger this bug.

Expected behavior
Either a go error is returned if the VM can't start with empty NVRAM, or the VM starts successfully if empty NVRAM is acceptable.

Environment that you use to compile (please complete the following information):

  • Xcode version: [xcodebuild -version | pbcopy]

I don't have xcode installed:

% xcodebuild --version 
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

Probably not the right tools to query for their version number but:

% xcode-select -v
xcode-select version 2397.
% xcrun --version
xcrun version 64.
  • macOS Version: [sw_vers | pbcopy]
ProductName:            macOS
ProductVersion:         13.3.1
BuildVersion:           22E261
  • mac architecture: [uname -m | pbcopy]
arm64
  • Go Version: [go version | pbcopy]
go version go1.19.5 darwin/arm64

Support for new macOS 13 API's

In macOS Ventura, Apple released several new Virtualization API's in beta.

Major one being support for VZEFILoader for running LinuxVM. It would be great if we can provide support for those new API's.

List of new API's,

General

Linux

MacOS

Is this project dead?

Very neat project! Just wondering if you plan to actively develop it or if it was just a proof of concept. Thanks

Add `func (v *VirtioNetworkDeviceConfiguration) GetMACAddress() string`?

Is your feature request related to a problem? Please describe.

https://developer.apple.com/documentation/virtualization/vznetworkdeviceconfiguration/3656653-macaddress?language=objc

The default value of this property is a random, locally administered, unicast address.

(I assume this is the same behaviour as calling NewRandomLocallyAdministeredMACAddress() explicitly)

I could not find a way to get the value of this default address

Describe the solution you'd like

This address is useful to know on the host as "/var/db/dhcpd_leases" can be parsed to do MAC address -> IP address look ups.
And the property is readwrite ( https://developer.apple.com/documentation/virtualization/vznetworkdeviceconfiguration/3656653-macaddress?language=objc ) so a getter in the go API would be nice to have

Describe alternatives you've considered

I'm suggesting this to make the API nicer, but it's easy to workaround with NewRandomLocallyAdministeredMACAddress()

Want knowledge document for virtio

I want a document for virtio to use vz. I need this the most and it would be very helpful if someone could contribute to this!

For x86_64 and aarch64.

Example

  • Serial console needs console=hvc0 kernel parameter and guest Linux is required to enable CONFIG_VIRTIO_CONSOLE and CONFIG_HVC_DRIVER
  • Want to use directory sharing, we have to use mount -t virtuofs command in guest Linux

macOS 13 API has been disabled despite being on Ventura with latest Xcode 14.1

Describe the bug
Trying to compile a project using vz and I get these warnings despite being on MacOS Ventura and Xcode 14.1:

# github.com/Code-Hex/vz/v3
In file included from _cgo_export.c:4:
In file included from shared_directory_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13_arm64.h:15:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/audio.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/bootloader.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/bootloader_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_12_arm64.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/clipboard.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/configuration.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/console.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/entropy.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/graphics.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/graphics_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_12_arm64.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/keyboard.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/memory_balloon.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/network.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/osversion.go:6:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/platform.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/platform_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_12_arm64.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/pointing_device.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/pointing_device_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13_arm64.h:15:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/serial_console.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/shared_directory.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/shared_directory_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13_arm64.h:15:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/socket.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/storage.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization.go:6:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_arm64.go:9:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_11.m:7:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_11.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_12.m:7:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_12.h:7:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_12_3.m:7:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_12_3.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_12_arm64.m:8:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_12_arm64.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_13.m:7:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13.h:9:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_13_arm64.m:7:
In file included from ../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_13_arm64.h:15:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_debug.m:8:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
# github.com/Code-Hex/vz/v3
In file included from virtualization_helper.m:7:
../../../go/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization_helper.h:32:9: warning: macOS 13 API has been disabled [-W#pragma-messages]
2022/12/06 11:59:12 unsupported build target macOS version for 13.0 (the binary was built with __MAC_OS_X_VERSION_MAX_ALLOWED=120300; needs recompilation)
exit status 1

To Reproduce
Steps to reproduce the behavior:
Run this program with macOS Ventura and Xcode 14.1 installed:

package main

import (
	"log"

	"github.com/Code-Hex/vz/v3"
	"github.com/k0kubun/pp/v3"
)

func getBootloader() (vz.BootLoader, error) {
	bootloader, err := vz.NewEFIBootLoader()
	if err != nil {
		return nil, err
	}
	return bootloader, nil
}

func main() {
	bootloader, err := getBootloader()
	if err != nil {
		log.Fatal(err)
	}

	pp.Println(bootloader)
}

Expected behavior
From the program above, I expected a printout of the vz.EFIBootLoader struct with no warnings.

Screenshots
Output was pasted in the beginning of the issue.

Environment that you use to compile (please complete the following information):

  • Xcode version: Xcode 14.1 Build version 14B47b
  • macOS Version: ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400
  • mac architecture: arm64
  • Go Version: go version go1.19.3 darwin/arm64

Additional context
Add any other context about the problem here.

panic: runtime/cgo: misuse of an invalid Handle

Describe the bug
This issue relates to lima-vm/lima#1299. When the VM is unresponsive, stopping it causes a panic.

To Reproduce
Steps to reproduce the behavior:

  1. Do something to cause the VM to hang. (Not sure how we could reproduce this)
  2. Stop the VM.

Expected behavior
Stop to succeed or error out but not panic.

Screenshots

lima.ha.stderr.log

{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 4295\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:19:47-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 15837\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:19:47-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 30249\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:19:47-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 12191\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:19:47-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:19:50-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:19:50-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:19:50-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:19:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 55838\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:19:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 13932\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:19:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 3824\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:19:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 10156\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:19:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 12574\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:19:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 12830\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:19:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 12333\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:19:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 43664\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:19:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 6108\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:02-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 10330\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:02-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 5881\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:02-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 60949\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:02-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 49513\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 22074\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 24406\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 1911\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:03-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 44678\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:04-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 17214\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:04-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 11105\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:04-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 30204\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:04-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 43964\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:06-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 47500\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:06-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 53043\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:06-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 23068\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:06-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:07-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:07-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:07-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:07-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:10-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:11-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:23-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:23-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:23-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:23-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 91.189.94.4:123: i/o timeout)","time":"2023-01-13T15:20:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:36-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 46484\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:38-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 18660\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:38-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 56978\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:39-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:39-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:39-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:39-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:39-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 6020\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:42-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 45436\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:42-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 47663\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:42-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 30057\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:42-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 21178\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 42799\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 25250\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 37768\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:46-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 30227\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:48-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 16918\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:48-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 46277\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:48-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 3365\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:48-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 7123\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:49-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 34790\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:49-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 49644\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:49-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 58815\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:49-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 53266\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 911\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 25953\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 55942\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 60570\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 49455\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 28185\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 50695\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 4280\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 49631\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 9484\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 44478\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:50-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 53488\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 9745\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 60819\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 51914\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:51-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 50820\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:54-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 30879\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:54-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 43464\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:54-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 6082\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:54-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 38676\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 65027\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 64475\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 16561\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:55-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 32486\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:57-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 9910\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:57-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 8667\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:57-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 21242\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:57-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 42723\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:58-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 26548\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:58-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 61876\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:58-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 13544\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:58-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 34124\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 64243\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 1917\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 47957\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 59205\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 59749\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 12503\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 60368\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:20:59-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 47116\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:21:00-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 15222\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:21:00-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 39684\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:21:00-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 46305\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:21:00-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 1057\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 44438\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 3522\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 50178\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 2561\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 61977\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t A\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 6455\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;las-artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 60206\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;eng-cdx-docker-prod-local.artifactory.crwd.dev.\tIN\t AAAA\n","time":"2023-01-13T15:21:01-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:06-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:06-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:06-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:06-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 55731\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;goreleaser.com.\tIN\t AAAA\n","time":"2023-01-13T15:21:13-05:00"}
{"level":"debug","msg":"handleQuery received DNS query: ;; opcode: QUERY, status: NOERROR, id: 25414\n;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version 0; flags: ; udp: 1472\n\n;; QUESTION SECTION:\n;goreleaser.com.\tIN\t A\n","time":"2023-01-13T15:21:13-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:17-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:17-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:17-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:17-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:32-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:33-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:34-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:21:36-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:09-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:12-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:16-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:16-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:16-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:16-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:18-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:18-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:18-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:18-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:19-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:19-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:19-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:19-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:20-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:21-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:21-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:21-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:21-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:24-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:24-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:24-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:24-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:25-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:27-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:27-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:27-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:27-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:28-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:29-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:30-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:30-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:30-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:30-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:31-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:43-05:00"}
{"level":"debug","msg":"Stopping udp proxy (read udp 192.168.5.2:56755: i/o timeout)","time":"2023-01-13T15:22:43-05:00"}
{"level":"info","msg":"Received SIGINT, shutting down the host agent","time":"2023-01-13T16:18:20-05:00"}
{"level":"info","msg":"Shutting down the host agent","time":"2023-01-13T16:18:20-05:00"}
{"level":"debug","msg":"Stop forwarding unix sockets","time":"2023-01-13T16:18:20-05:00"}
{"level":"info","msg":"Stopping forwarding \"/var/run/docker.sock\" (guest) to \"/Users/rdeusser/.lima/0/docker.sock\" (host)","time":"2023-01-13T16:18:20-05:00"}
{"level":"info","msg":"Stopping forwarding \"/run/lima-guestagent.sock\" (guest) to \"/Users/rdeusser/.lima/0/ga.sock\" (host)","time":"2023-01-13T16:18:20-05:00"}
{"level":"debug","msg":"shutting down the SSH master","time":"2023-01-13T16:18:20-05:00"}
{"level":"debug","msg":"executing ssh for exiting the master: /usr/bin/ssh [ssh -F /dev/null -o IdentityFile=\"/Users/rdeusser/.lima/_config/user\" -o IdentityFile=\"/Users/rdeusser/.ssh/id_ed25519\" -o IdentityFile=\"/Users/rdeusser/.ssh/personal\" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o NoHostAuthenticationForLocalhost=yes -o GSSAPIAuthentication=no -o PreferredAuthentications=publickey -o Compression=no -o BatchMode=yes -o IdentitiesOnly=yes -o Ciphers=\"^[email protected],[email protected]\" -o User=rdeusser -o ControlMaster=auto -o ControlPath=\"/Users/rdeusser/.lima/0/ssh.sock\" -o ControlPersist=5m -o ForwardAgent=yes -O exit -p 60630 127.0.0.1]","time":"2023-01-13T16:18:20-05:00"}
{"level":"info","msg":"Shutting down VZ","time":"2023-01-13T16:18:20-05:00"}
panic: runtime/cgo: misuse of an invalid Handle

goroutine 1 [running]:
runtime/cgo.Handle.Value(...)
	/opt/homebrew/Cellar/go/1.19.4/libexec/src/runtime/cgo/handle.go:124
github.com/Code-Hex/vz/v3.changeStateOnObserver(0x7, 0x100b81708?)
	/Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization.go:154 +0xec
github.com/Code-Hex/vz/v3._Cfunc_stopWithCompletionHandler(0x600001790000, 0x600000292400, 0x140013d6260)
	_cgo_gotypes.go:1930 +0x34
github.com/Code-Hex/vz/v3.(*VirtualMachine).Stop.func1(0x1400028c080, 0x1400045ee10?)
	/Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization.go:326 +0xbc
github.com/Code-Hex/vz/v3.(*VirtualMachine).Stop(0x1400017e000?)
	/Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/!code-!hex/vz/[email protected]/virtualization.go:326 +0xe8
github.com/lima-vm/lima/pkg/vz.(*LimaVzDriver).Stop(0x140006e1b20, {0x14000000004?, 0x1400094fa18?})
	/private/tmp/lima-20221223-12555-f6y7sz/lima-0.14.2/pkg/vz/vz_driver_darwin.go:124 +0x78
github.com/lima-vm/lima/pkg/hostagent.(*HostAgent).Run(0x140001e41b0, {0x10156cf10?, 0x1400012c008})
	/private/tmp/lima-20221223-12555-f6y7sz/lima-0.14.2/pkg/hostagent/hostagent.go:295 +0x6fc
main.hostagentAction(0x14000282600, {0x14000156820, 0x1, 0x5?})
	/private/tmp/lima-20221223-12555-f6y7sz/lima-0.14.2/cmd/limactl/hostagent.go:99 +0x650
github.com/spf13/cobra.(*Command).execute(0x14000282600, {0x140001567d0, 0x5, 0x5})
	/Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/spf13/[email protected]/command.go:916 +0x5c8
github.com/spf13/cobra.(*Command).ExecuteC(0x140001ce600)
	/Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/spf13/[email protected]/command.go:1044 +0x35c
github.com/spf13/cobra.(*Command).Execute(...)
	/Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/spf13/[email protected]/command.go:968
main.main()
	/private/tmp/lima-20221223-12555-f6y7sz/lima-0.14.2/cmd/limactl/main.go:23 +0x20

Environment that you use to compile (please complete the following information):

Lima v0.14.2

github.com/Code-Hex/vz/v3 v3.0.2

  • Xcode version: 14.1
  • macOS Version: macos-12
  • mac architecture: arm64
  • Go Version: go1.19

Additional context

Where the panic happened this comment is in the vz library.

// I expected it will not cause panic.
// if caused panic, that's unexpected behavior.
v, _ := status.Value().(*machineStatus)

https://github.com/Code-Hex/vz/blob/main/virtualization.go#L152-L154

Help: Tests Not Executing on macOS 13 (amd64)

Describe the bug

make test on macOS 13 (amd64) is not executing tests.

See: https://github.com/Code-Hex/vz/actions/runs/6452512346/job/17514882857?pr=134

To Reproduce

make test

Expected behavior

Pass tests

Screenshots
If applicable, add screenshots to help explain your problem.

Environment that you use to compile (please complete the following information):

https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md

Uncaught exception when running `virtualization` example program

With master, if I run the linux virtualization example without setting any of the required env vars, I'm getting this failure:

% ./virtualization 
2022-09-08 12:11:46.146 virtualization[37825:952616] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[VZLinuxBootLoader initWithKernelURL:]: The URL (null) is not a file URL'
*** First throw call stack:
(
	0   CoreFoundation                      0x00000001891711a8 __exceptionPreprocess + 240
	1   libobjc.A.dylib                     0x0000000188ebbe04 objc_exception_throw + 60
	2   CoreFoundation                      0x0000000189170ff4 +[NSException exceptionWithName:reason:userInfo:] + 0
	3   Virtualization                      0x00000001ef375478 _ZN2Vz32raise_invalid_argument_exceptionEP11objc_objectP13objc_selectorP8NSStringz + 176
	4   Virtualization                      0x00000001ef2b963c _ZN2Vz20validate_is_file_urlEP5NSURLP11objc_objectP13objc_selector + 96
	5   Virtualization                      0x00000001ef33b8e8 -[VZLinuxBootLoader initWithKernelURL:] + 56
	6   virtualization                      0x00000001041a59d8 newVZLinuxBootLoader + 104
	7   virtualization                      0x00000001041a40a0 _cgo_16e5e8d7eb11_Cfunc_newVZLinuxBootLoader + 36
	8   virtualization                      0x00000001040f48ec runtime.asmcgocall.abi0 + 124
)
libc++abi: terminating with uncaught exception of type NSException
SIGABRT: abort
PC=0x188feed98 m=0 sigcode=0
signal arrived during cgo execution

VZLinuxBootLoader initWithKernelURL throws an exception because we pass it a null/empty URL, but nothing is catching this exception, so the application gets killed. It would be a lot nicer if calling VZLinuxBootLoader initWithKernelURL with invalid arguments would return a regular go error.

gui-linux sample compilation error in intel mac

Describe the bug
GUI linux sample is not compiling in intel mac machine

To Reproduce
Steps to reproduce the behavior:

  1. Run gui-linux in intel mac

Expected behavior
Should compile properly

Log

# github.com/Code-Hex/vz/example/gui-linux
./main.go:416:39: undefined: createRosettaDirectoryShareConfiguration
make: *** [build] Error 2

Environment that you use to compile (please complete the following information):

  • Xcode version: [Xcode 14.1 Build version 14B47b ]
  • macOS Version: [ProductName: macOS ProductVersion: 13.0 BuildVersion: 22A380 ]
  • mac architecture: [x86_64 ]
  • Go Version: [go version go1.19.2 darwin/amd64 ]

Regression: NewFileSerialPortAttachment() no longer create log files

When using NewFileSerialPortAttachment(), the virtualization framework will create the log file if it does not exist yet.
Commit 117c12a added a file existence check to this API, which is incorrect. An error is now returned even if NewFileSerialPortAttachment() would create the file.
If a directory in the path is non-existent, NewFileSerialPortAttachment() returns an error, it does not throw an exception, so the file existence check is also not needed in this case.

Make easier to check API is available

Is your feature request related to a problem? Please describe.

This is bothering me to check these two errors to see if the API is available.

errors.Is(err, vz.ErrUnsupportedOSVersion) || errors.Is(err, vz.ErrBuildTargetOSVersion)

Describe the solution you'd like

Add vz.IsUnavailable(err) and it returns a boolean value.

As a reference: https://pkg.go.dev/os#IsNotExist

NSError memory leaks?

If I look at NewDiskImageStorageDeviceAttachment, the memory for nserrPtr is not released.
I think this is a leak.

Maybe this is needed?

diff --git a/objcutil.go b/objcutil.go
index 8b49dd2..29074fc 100644
--- a/objcutil.go
+++ b/objcutil.go
@@ -236,7 +236,8 @@ func newNSError(p unsafe.Pointer) *NSError {
                Domain:               (*char)(nsError.domain).String(),
                Code:                 int((nsError.code)),
                LocalizedDescription: (*char)(nsError.localizedDescription).String(),
-               UserInfo:             (*char)(nsError.userinfo).String(), // NOTE(codehex): maybe we can convert to map[string]interface{}
+               UserInfo:             (*char)(nsError.userinfo).String(), // NOTE(codehex): maybe we can convert to map[string]interface{},
+               pointer:              pointer{ptr: p},
        }
 }
 
diff --git a/storage.go b/storage.go
index d29493c..94713f7 100644
--- a/storage.go
+++ b/storage.go
@@ -56,6 +56,7 @@ func NewDiskImageStorageDeviceAttachment(diskPath string, readOnly bool) (*DiskI
                },
        }
        if err := newNSError(nserrPtr); err != nil {
+               err.Release()
                return nil, err
        }
        runtime.SetFinalizer(attachment, func(self *DiskImageStorageDeviceAttachment) {

vm crashed on ConnectToPort


podman login: I0114 20:50:46.031453   40317 proxy_darwin.go:17] [host] prepare to connect to vm port=2375
I0114 20:50:46.033429   40317 proxy_darwin.go:26] [host]connect to vm success 2375
I0114 20:50:54.184381   40317 publish.go:138] stream copy finish: c00079c000 -> c00079c010, 179 bytes copied
I0114 20:50:54.184478   40317 proxy_darwin.go:34] [host] stream copy finished [2375]
E0114 20:50:54.184649   40317 publish.go:133] stream copy: 486 bytes copied, read c7gn39lmk1u9qvafqfjg: file already closed
I0114 20:50:54.184686   40317 publish.go:148] close conn
I0114 20:50:54.184700   40317 publish.go:138] stream copy finish: c000522000 -> c000522010, 486 bytes copied
I0114 20:50:54.184729   40317 publish.go:148] close conn
I0114 20:50:57.409293   40317 proxy_darwin.go:17] [host] prepare to connect to vm port=2375
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x3eaddc3d8248 pc=0x7ff80ee4f05d]

runtime stack:
runtime.throw({0x601d861, 0x3d0e336f5ff80060})
	/usr/local/go/src/runtime/panic.go:1198 +0x71
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:719 +0x396

goroutine 62 [syscall]:
runtime.cgocall(0x59c6a70, 0xc000735e10)
	/usr/local/go/src/runtime/cgocall.go:156 +0x5c fp=0xc000735de8 sp=0xc000735db0 pc=0x400739c
github.com/aoxn/ovm/pkg/utils/vz._Cfunc_VZVirtioSocketDevice_connectToPort(0x600002908230, 0x600002c08880, 0x947, 0x6000002092c0)
	_cgo_gotypes.go:146 +0x45 fp=0xc000735e10 sp=0xc000735de8 pc=0x59159a5
github.com/aoxn/ovm/pkg/utils/vz.(*VirtioSocketDevice).ConnectToPort.func1(0xc000465380, 0x14, 0xc000465380)
	/Users/aoxn/vaoxn/code/ovm/pkg/utils/vz/socket.go:127 +0x85 fp=0xc000735e60 sp=0xc000735e10 pc=0x591ac85
github.com/aoxn/ovm/pkg/utils/vz.(*VirtioSocketDevice).ConnectToPort(0xc0005b3580, 0x1, 0xc00078e000)
	/Users/aoxn/vaoxn/code/ovm/pkg/utils/vz/socket.go:127 +0xc5 fp=0xc000735eb0 sp=0xc000735e60 pc=0x591aba5
github.com/aoxn/ovm/cmd/ovm/vm.NewVSockProxy.func1({0x630af18, 0xc000128020})
	/Users/aoxn/vaoxn/code/ovm/cmd/ovm/vm/proxy_darwin.go:40 +0x178 fp=0xc000735f50 sp=0xc000735eb0 pc=0x5921c58
github.com/aoxn/ovm/cmd/ovm/vm.(*Publish).Listen.func1({0x630af18, 0xc000128020})
	/Users/aoxn/vaoxn/code/ovm/cmd/ovm/vm/publish.go:122 +0x2f fp=0xc000735fc0 sp=0xc000735f50 pc=0x5922f4f
github.com/aoxn/ovm/cmd/ovm/vm.(*Publish).Listen·dwrap·9()
	/Users/aoxn/vaoxn/code/ovm/cmd/ovm/vm/publish.go:126 +0x31 fp=0xc000735fe0 sp=0xc000735fc0 pc=0x5922ef1
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc000735fe8 sp=0xc000735fe0 pc=0x4069541
created by github.com/aoxn/ovm/cmd/ovm/vm.(*Publish).Listen
	/Users/aoxn/vaoxn/code/ovm/cmd/ovm/vm/publish.go:121 +0x505

ConnectToPort() needs to Dup() its VirtioSocketConnection

Describe the bug

The VirtioSocketConnection created through ConnectToPort() is closed after its completion handler returns.

To Reproduce

cfergeau@fd9f5cc

Expected behavior

The VirtioSocketConnection created through ConnectToPort() can be used outside of its completion hander.

Environment (please complete the following information):

  • macOS Version: 12.6
  • Go Version: 1.19

Additional context

#53 has a proposed fix for this

Drop go 1.17.x

Is your feature request related to a problem? Please describe.

  • Compilation warning (#75) will be fixed in Go 1.18.x and 1.19.x officially but not for 1.17.x.
  • SetFinalizer is used in Go to release objects created in Objective-C. As I sometimes make mistakes passing objects, I would like to replace this part as a generics function so that I can notice it at compile-time.

Describe alternatives you've considered

Wait until 1.20.x is released

VZFileHandleNetworkDeviceAttachment throw NSInvalidArgumentException

Describe the bug

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[VZFileHandleNetworkDeviceAttachment initWithFileHandle:]: Failed to get file descriptor properties: Socket operation on non-socket
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[VZFileHandleNetworkDeviceAttachment initWithFileHandle:]: The fileHandle must be a datagram socket

To Reproduce
Steps to reproduce the behavior:

vz.NewFileHandleNetworkDeviceAttachment(f) // f has a file descriptor which is not datagram (UDP)

Expected behavior

No throw exception

Screenshots
If applicable, add screenshots to help explain your problem.

Environment that you use to compile (please complete the following information):

  • Xcode version: [xcodebuild -version | pbcopy]
Xcode 14.1
Build version 14B47b
  • macOS Version: [sw_vers | pbcopy]
ProductName:		macOS
ProductVersion:		13.0
BuildVersion:		22A380
  • mac architecture: [uname -m | pbcopy]
arm64
  • Go Version: [go version | pbcopy]
go version go1.19 darwin/arm64

Additional context
Add any other context about the problem here.

Task for v3

This library had some build issues between macOS versions. (See: #41)
So I decided to introduce some breaking changes and I will add some test code to improve reliabilities.

Tasks to release v3.

Welcome your creating issues but I'm not welcome your PR to change major code.

  • Returns error if unsupported macOS version: #48
  • Build tiny Linux kernel and initramfs for testing: #51
  • #69
  • Support debuggable interface when specified debug buildtag #64
  • Support new APIs #42

macOS 14

Is your feature request related to a problem? Please describe.

... and more

https://developer.apple.com/documentation/virtualization?language=objc&changes=latest_minor

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

use after free reported by ASAN

I ran example/linux/virtualization with ASAN enabled (sed -i '.bak' 's/FLAGS: /&-fsanitize=address /g' *.go), and the example program segfaulted with:

=================================
==53567==ERROR: AddressSanitizer: heap-use-after-free on address 0x60600002ae11 at pc 0x0000042115b5 bp 0x7ffeefbff7d0 sp 0x7ffeefbfef90
READ of size 37 at 0x60600002ae11 thread T0
    #0 0x42115b4 in wrap_strlen+0x184 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x155b4)
    #1 0x7fff20691598 in _dispatch_strdup_if_mutable+0x11 (libdispatch.dylib:x86_64+0x2598)
    #2 0x7fff2069750c in _dispatch_lane_create_with_target+0x154 (libdispatch.dylib:x86_64+0x850c)
    #3 0x40adb5b in _cgo_a012ac8bb423_Cfunc_makeDispatchQueue+0x4b (virtualization:x86_64+0x40adb5b)
    #4 0x40635e3 in runtime.asmcgocall.abi0+0x63 (virtualization:x86_64+0x40635e3)

0x60600002ae11 is located 17 bytes inside of 64-byte region [0x60600002ae00,0x60600002ae40)
freed by thread T0 here:
    #0 0x4241096 in __sanitizer_mz_free+0x86 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x45096)
    #1 0x7fff209ffade in _CFRelease+0x478 (CoreFoundation:x86_64h+0x14bade)
    #2 0x7fff206fa20e in AutoreleasePoolPage::releaseUntil(objc_object**)+0xa6 (libobjc.A.dylib:x86_64h+0x2620e)
    #3 0x7fff206dce2f in objc_autoreleasePoolPop+0xa0 (libobjc.A.dylib:x86_64h+0x8e2f)
    #4 0x40ac29e in _cgo_a012ac8bb423_Cfunc_getUUID+0xae (virtualization:x86_64+0x40ac29e)
    #5 0x40635e3 in runtime.asmcgocall.abi0+0x63 (virtualization:x86_64+0x40635e3)

previously allocated by thread T0 here:
    #0 0x4240dc2 in __sanitizer_mz_calloc+0x92 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x44dc2)
    #1 0x7fff2067dff3 in _malloc_zone_calloc+0x3a (libsystem_malloc.dylib:x86_64+0x1bff3)
    #2 0x7fff208b7e61 in _CFRuntimeCreateInstance+0x125 (CoreFoundation:x86_64h+0x3e61)
    #3 0x7fff208b756b in __CFStringCreateImmutableFunnel3+0x76b (CoreFoundation:x86_64h+0x356b)
    #4 0x7fff208c3805 in CFStringCreateWithBytes+0x1a (CoreFoundation:x86_64h+0xf805)
    #5 0x7fff216890bd in +[NSString stringWithUTF8String:]+0x43 (Foundation:x86_64+0x250bd)
    #6 0x7fff21689ce6 in -[__NSConcreteUUID UUIDString]+0x40 (Foundation:x86_64+0x25ce6)
    #7 0x40ac26c in _cgo_a012ac8bb423_Cfunc_getUUID+0x7c (virtualization:x86_64+0x40ac26c)
    #8 0x40635e3 in runtime.asmcgocall.abi0+0x63 (virtualization:x86_64+0x40635e3)

SUMMARY: AddressSanitizer: heap-use-after-free (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x155b4) in wrap_strlen+0x184

SIGABRT: abort
PC=0x7fff2080d91e m=0 sigcode=0
signal arrived during cgo execution

goroutine 1 [syscall]:
runtime.cgocall(0x40adb10, 0xc000143d10)
	/usr/local/Cellar/go/1.18.4/libexec/src/runtime/cgocall.go:157 +0x5c fp=0xc000143ce8 sp=0xc000143cb0 pc=0x40085dc
github.com/Code-Hex/vz/v2._Cfunc_makeDispatchQueue(0x60600002ae11)
	_cgo_gotypes.go:386 +0x49 fp=0xc000143d10 sp=0xc000143ce8 pc=0x40a2189
github.com/Code-Hex/vz/v2.NewVirtualMachine(0x40fd2f0?)
	/Users/teuf/code/vz/virtualization.go:105 +0x45 fp=0xc000143d88 sp=0xc000143d10 pc=0x40a6a25
main.main()
	/Users/teuf/code/vz/example/linux/main.go:121 +0x626 fp=0xc000143f80 sp=0xc000143d88 pc=0x40a8306
runtime.main()
	/usr/local/Cellar/go/1.18.4/libexec/src/runtime/proc.go:250 +0x212 fp=0xc000143fe0 sp=0xc000143f80 pc=0x4038932
runtime.goexit()
	/usr/local/Cellar/go/1.18.4/libexec/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc000143fe8 sp=0xc000143fe0 pc=0x4063901

I can workaround the problem with the change below, but I'm not familiar enough with go/objc memory handling in order to send a proper fix:

commit 2f29e7d6d904e45275f8ef5d3eaec4a7d07d291f
Author: Christophe Fergeau <[email protected]>
Date:   Sat Sep 10 13:24:56 2022 +0200

    hack: remove autoreleasepool to hack around use after free

diff --git a/objcutil.go b/objcutil.go
index e214be0..a93ad2b 100644
--- a/objcutil.go
+++ b/objcutil.go
@@ -111,10 +111,10 @@ void* getNSArrayItem(void *ptr, int i)
 const char *getUUID()
 {
 	const char *ret;
-	@autoreleasepool {
+	//@autoreleasepool {
 		NSString *uuid = [[NSUUID UUID] UUIDString];
 		ret = [uuid UTF8String];
-	}
+	//}
 	return ret;
 }
 */

Call for ideas vmlinuz and initrd for testing

I have a plan to add some test code. But I need to use vmlinuz and initrd to write e2e testing. So I call for ideas what files are should be used (alpine? busybox? etc).

What's want

  • small distribution
  • minimum requirement to check booting

If you have knowledge, please tell me your recommendations. Thanks 🙏

socket.go could provide a Dial() method

Describe the bug

To get a vsock net.Conn from Code-Hex/vz I need to call a method named Connect().
The standard net package name such methods Dial() instead of Connect():

Although the package provides access to low-level networking primitives, most clients will need only the basic interface provided by the Dial, Listen, and Accept functions and the associated Conn and Listener interfaces. The crypto/tls package uses the same interfaces and similar Dial and Listen functions.

The Dial function connects to a server:

It would be nice to have Dial() in Code-Hex/vz as well.

VM crashed using a non NewRandomLocallyAdministeredMACAddress

Hi,

I've an issue using a custom mac address with vz.

When using:
networkConfig.SetMacAddress(vz.NewRandomLocallyAdministeredMACAddress()) no issue

but when I try fo use a Custom Address:

address := []byte("02:b7:3f:da:a1:fb")
networkConfig.SetMacAddress(vz.NewMACAddress(address))

it leads to a Segmentation fault: 11.

zsh: segmentation fault ./virtualization

Guest Side

  • use focal-server-cloudimg-arm64.img
    • Linux km-silicon 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 19:28:28 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
  • use socat
$ cat cli.sh
#!/usr/bin/bash

while true; do
echo hello | /usr/local/bin/socat - VSOCK-CONNECT:2:8321
sleep 1
done
Clash log
root@km-silicon:~# ./cli.sh
2021/12/13 02:23:23 socat[980] E connect(5, AF=40 cid:2 port:8321, 16): Connection reset by peer
2021/12/13 02:23:24 socat[984] E connect(5, AF=40 cid:2 port:8321, 16): Connection reset by peer
2021/12/13 02:23:25 socat[987] E connect(5, AF=40 cid:2 port:8321, 16): Connection reset by peer
[  102.328859] kernel BUG at arch/arm64/kernel/traps.c:405!
[  102.329110] Internal error: Oops - BUG: 0 [#1] SMP
[  102.329222] Modules linked in: dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua bridge stp llc vmw_vsock_virtio_transport vmw_vsock_virtio_transport_common vsock virtio_rng uio_pdrv_genirq uio sch_fq_codel drm ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor xor_neon raid6_pq libcrc32c raid1 raid0 multipath linear crct10dif_ce ghash_ce sha3_ce sha3_generic sha512_ce sha512_arm64 sha2_ce sha256_arm64 sha1_ce virtio_blk virtio_net net_failover failover aes_neon_bs aes_neon_blk aes_ce_blk crypto_simd cryptd aes_ce_cipher
[  102.330499] CPU: 0 PID: 352 Comm: systemd-journal Not tainted 5.4.0-84-generic #94-Ubuntu
[  102.330606] pstate: 00400005 (nzcv daif +PAN -UAO)
[  102.330733] pc : do_undefinstr+0x68/0x70
[  102.330788] lr : do_undefinstr+0x3c/0x70
[  102.330836] sp : ffff80001203bbc0
[  102.330883] x29: ffff80001203bbc0 x28: ffff0000a9b0cb00
[  102.330959] x27: 0000000000000000 x26: 0000000000000000
[  102.331030] x25: 000000007fff0000 x24: 0000000000000000
[  102.331104] x23: 0000000040400005 x22: ffff80000002517c
[  102.331180] x21: ffff80001203bd20 x20: 0000ffffffffffff
[  102.331249] x19: ffff80001203bbe0 x18: 0000000000000000
[  102.331322] x17: 0000000000000000 x16: 0000000000000000
[  102.331400] x15: 0000000000000000 x14: 0000000000000000
[  102.331469] x13: 0000000000000000 x12: 0000000000000000
[  102.331537] x11: 0000000000000000 x10: 0000000000000000
[  102.331608] x9 : 0000000040000040 x8 : 0000ffffc27c05e0
[  102.331714] x7 : 0000ffffab6345a8 x6 : ffff80001203bbb8
[  102.331788] x5 : 0000000000000000 x4 : 0000000000000000
[  102.331857] x3 : ffff800011b85a78 x2 : 0000000000000000
[  102.331930] x1 : 0000000000000000 x0 : 0000000040400005
[  102.332005] Call trace:
[  102.332044]  do_undefinstr+0x68/0x70
[  102.332125]  el1_undef+0x10/0xb4
[  102.332239]  0xffff80000002517c
[  102.332320]  __secure_computing+0x50/0xe0
[  102.332389]  syscall_trace_enter+0x184/0x1c0
[  102.332463]  el0_svc_common.constprop.0+0x70/0x1f0
[  102.332536]  el0_svc_handler+0x38/0xa8
[  102.332602]  el0_svc+0x10/0x2c8
[  102.332671] Code: 94005368 f9400bf3 a8c27bfd d65f03c0 (d4210000)
[  102.332850] ---[ end trace 82c01dc59ca40dcd ]---
[  102.368087] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.
[  102.388590] systemd[1]: Stopping Flush Journal to Persistent Storage...
[  102.403682] systemd[1]: motd-news.service: Succeeded.
[  102.404700] systemd[1]: Finished Message of the Day.
[  102.406742] systemd[1]: systemd-journal-flush.service: Succeeded.
[  102.407392] systemd[1]: Stopped Flush Journal to Persistent Storage.
[  102.407667] systemd[1]: Stopped Journal Service.
[  102.411246] systemd[1]: Starting Journal Service...
[  102.455216] ------------[ cut here ]------------
[  102.455294] WARNING: CPU: 0 PID: 0 at kernel/rcu/tree.c:569 rcu_idle_enter+0x74/0x80
[  102.455355] Modules linked in: dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua bridge stp llc vmw_vsock_virtio_transport vmw_vsock_virtio_transport_common vsock virtio_rng uio_pdrv_genirq uio sch_fq_codel drm ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor xor_neon raid6_pq libcrc32c raid1 raid0 multipath linear crct10dif_ce ghash_ce sha3_ce sha3_generic sha512_ce sha512_arm64 sha2_ce sha256_arm64 sha1_ce virtio_blk virtio_net net_failover failover aes_neon_bs aes_neon_blk aes_ce_blk crypto_simd cryptd aes_ce_cipher
[  102.455747] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D           5.4.0-84-generic #94-Ubuntu
[  102.455820] pstate: 20c00085 (nzCv daIf +PAN +UAO)
[  102.455857] pc : rcu_idle_enter+0x74/0x80
[  102.455897] lr : do_idle+0x210/0x298
[  102.455921] sp : ffff800011b73ed0
[  102.455941] x29: ffff800011b73ed0 x28: 00000000714b0018
[  102.455983] x27: 0000000000000000 x26: 0000000000000000
[  102.456003] x25: 0000000000000000 x24: ffff800011b79454
[  102.456028] x23: ffff800011b82e40 x22: ffff800011691838
[  102.456055] x21: ffff800011b79418 x20: 0000000000000000
[  102.456092] x19: ffff800011b79338 x18: 0000000000000000
[  102.456138] x17: 0000000000000000 x16: 0000000000000000
[  102.456167] x15: 0000000000000000 x14: 0000000000000000
[  102.456210] x13: 0000000000000000 x12: 0000000000000001
[  102.456238] x11: ffff800011258368 x10: 0000000000000ad0
[  102.456273] x9 : ffff800011b73e00 x8 : ffff800011b83970
[  102.456310] x7 : 0000000000000000 x6 : 000051d67bbdf899
[  102.456336] x5 : 00ffffffffffffff x4 : 0000000000001ae2
[  102.456371] x3 : 4000000000000002 x2 : 4000000000000000
[  102.456407] x1 : ffff800011693b00 x0 : ffff0000adbe6b00
[  102.456432] Call trace:
[  102.456444]  rcu_idle_enter+0x74/0x80
[  102.456489]  do_idle+0x210/0x298
[  102.456538]  cpu_startup_entry+0x30/0xb8
[  102.456587]  rest_init+0xc0/0xcc
[  102.456639]  arch_call_rest_init+0x18/0x20
[  102.456671]  start_kernel+0x4cc/0x500
[  102.456689] ---[ end trace 82c01dc59ca40dce ]---
[  102.536777] systemd-journald[1240]: File /var/log/journal/4c97dcebbda44c73a9830202169730e5/system.journal corrupted or uncleanly shut down, renaming and replacing.
[  102.629417] systemd[1]: Started Journal Service.
[  102.638990] systemd-journald[1240]: Received client request to flush runtime journal.
zsh: segmentation fault  ./virtualization

Host Side

if newState == vz.VirtualMachineStateRunning {
	log.Println("start VM is running")
	listener := vz.NewVirtioSocketListener(func(conn *vz.VirtioSocketConnection, err error) {
		defer func() {
			if err := conn.Close(); err != nil {
				log.Println("closing error", err)
			}
		}()

		log.Println("call", err)
		log.Println("conn", conn.RemoteAddr(), conn.LocalAddr())
		_, err = io.Copy(log.Writer(), conn)
		log.Println("err", err)
	})

	time.Sleep(30 * time.Second)
	socketDevices := vm.SocketDevices()
	for _, socketDevice := range socketDevices {
		log.Println("listen...")
		socketDevice.SetSocketListenerForPort(listener, 8321)
		log.Println("done.")
	}
}
Clash log

I've gotten by

$ cat ~/Library/Logs/DiagnosticReports/virtualization_2021-12-13-113904_mac-mini.crash | pbcopy

Process:               virtualization [18487]
Path:                  /Users/USER/*/virtualization
Identifier:            virtualization
Version:               0
Code Type:             ARM-64 (Native)
Parent Process:        zsh [15217]
User ID:               501

Date/Time:             2021-12-13 11:39:04.024 +0900
OS Version:            macOS 11.6 (20G165)
Report Version:        12
Anonymous UUID:        1C28D546-716A-F6B7-A889-1A3819FB7AAC

Sleep/Wake UUID:       725F0E6B-3962-4620-86C6-FCB3D8C9A235

Time Awake Since Boot: 3700000 seconds
Time Since Wake:       1700 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGSEGV)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   virtualization [18487]

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 1:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdd8 _pthread_cond_wait + 1292
2   virtualization                	0x00000001041a816c runtime.pthread_cond_timedwait_relative_np_trampoline + 28
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 2:
0   libsystem_kernel.dylib        	0x000000018cfe59bc read + 8
1   virtualization                	0x00000001041a799c runtime.read_trampoline + 28

Thread 3:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 4:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 5:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 6:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 7:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 8:
0   libsystem_pthread.dylib       	0x000000018d01a5cc start_wqthread + 0

Thread 9:: Dispatch queue: c6rb3g5mmud4gdpjo080
0   libsystem_kernel.dylib        	0x000000018cfe8344 __semwait_signal + 8
1   libsystem_c.dylib             	0x000000018cf64284 nanosleep + 216
2   libsystem_c.dylib             	0x000000018cf64148 usleep + 68
3   virtualization                	0x00000001041a7d84 runtime.usleep_trampoline + 20
4   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 10:
0   libsystem_kernel.dylib        	0x000000018cfe8548 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	0x000000018d01fdac _pthread_cond_wait + 1248
2   virtualization                	0x00000001041a8138 runtime.pthread_cond_wait_trampoline + 24
3   virtualization                	0x00000001041a6ec8 runtime.asmcgocall + 200

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000104   x1: 0x0000000000000000   x2: 0x0000000000000300   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x00000000000000a0   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0x000000016bcbe858   x9: 0x0000000000000301  x10: 0x00000001042dbd78  x11: 0x0000010000000102
   x12: 0x0000000000000100  x13: 0x0000000000000000  x14: 0x0000000000000100  x15: 0x0000000000000001
   x16: 0x0000000000000131  x17: 0x00000001fbaa6e48  x18: 0x0000000000000000  x19: 0x00000001042dbd60
   x20: 0x00000001042dbda0  x21: 0x0000000104537e20  x22: 0x0000000000000000  x23: 0x0000000000000000
   x24: 0x0000000000000300  x25: 0x0000000000000301  x26: 0x0000000000000400  x27: 0x0000000000000020
   x28: 0x00000001042db620   fp: 0x000000016bcbe8d0   lr: 0x000000018d01fdac
    sp: 0x000000016bcbe840   pc: 0x000000018cfe8548 cpsr: 0x60000000
   far: 0x000000016811b6e8  esr: 0x56000080


Binary Images:
       0x104140000 -        0x10421bfff +virtualization (0) <FFCB2B91-D125-323B-A5C5-E60D65BB017A> /Users/USER/*/virtualization
       0x10447c000 -        0x1044fbfff  dyld (852.2) <38657979-1ABE-3C9A-BF64-EF3B746216AB> /usr/lib/dyld
       0x18cd7a000 -        0x18cd7bfff  libsystem_blocks.dylib (79) <BA713F79-1620-38B2-8717-79849B8E897E> /usr/lib/system/libsystem_blocks.dylib
       0x18cd7c000 -        0x18cdb3fff  libxpc.dylib (2038.120.1) <0E990C5D-C4F7-304A-9714-4409647CC2EF> /usr/lib/system/libxpc.dylib
       0x18cdb4000 -        0x18cdcbfff  libsystem_trace.dylib (1277.120.1) <7A6B4800-8D94-3091-AC78-2D6B97A9B496> /usr/lib/system/libsystem_trace.dylib
       0x18cdcc000 -        0x18ce3ffff  libcorecrypto.dylib (1000.140.4) <FAF9B49D-2583-34EF-850B-047F050ED996> /usr/lib/system/libcorecrypto.dylib
       0x18ce40000 -        0x18ce6bfff  libsystem_malloc.dylib (317.140.5) <A454F3F2-7BC4-3808-A60F-F5F4BC55577F> /usr/lib/system/libsystem_malloc.dylib
       0x18ce6c000 -        0x18ceb0fff  libdispatch.dylib (1271.120.2) <4EDD5F72-2296-3891-B2A1-6741DB6C05C9> /usr/lib/system/libdispatch.dylib
       0x18ceb1000 -        0x18ceeafff  libobjc.A.dylib (824) <252C93CC-2D39-3C15-87F6-1336658B2F49> /usr/lib/libobjc.A.dylib
       0x18ceeb000 -        0x18ceedfff  libsystem_featureflags.dylib (28.60.1) <61A79E0B-1836-376D-AC24-171B40A9FAE7> /usr/lib/system/libsystem_featureflags.dylib
       0x18ceee000 -        0x18cf6ffff  libsystem_c.dylib (1439.141.1) <9B3C0AD0-1E0B-39D1-BE25-B97F8EA7E623> /usr/lib/system/libsystem_c.dylib
       0x18cf70000 -        0x18cfcbfff  libc++.1.dylib (905.6) <BED05B96-CCAE-365A-B3F5-F8D72F5E77E1> /usr/lib/libc++.1.dylib
       0x18cfcc000 -        0x18cfe3fff  libc++abi.dylib (905.6) <3C5176E2-CE48-312B-97F6-23D4E7AFA43F> /usr/lib/libc++abi.dylib
       0x18cfe4000 -        0x18d017fff  libsystem_kernel.dylib (7195.141.6) <FA7E835C-CB30-3D98-9331-30CE6584423D> /usr/lib/system/libsystem_kernel.dylib
       0x18d018000 -        0x18d024fff  libsystem_pthread.dylib (454.120.2) <BDC1C5DA-9499-3580-9588-2928DE2440DD> /usr/lib/system/libsystem_pthread.dylib
       0x18d025000 -        0x18d066fff  libdyld.dylib (852.2) <BE0B539A-2EDF-3A99-9632-731C5928BBAC> /usr/lib/system/libdyld.dylib
       0x18d067000 -        0x18d06dfff  libsystem_platform.dylib (254.80.2) <2CC11FAD-1E31-3533-B1D8-9CDDF5DFE595> /usr/lib/system/libsystem_platform.dylib
       0x18d06e000 -        0x18d099fff  libsystem_info.dylib (542.40.3) <3B5B9F97-ECFB-3F6E-9B85-D8C62A8B3205> /usr/lib/system/libsystem_info.dylib
       0x18d09a000 -        0x18d548fff  com.apple.CoreFoundation (6.9 - 1778.101) <1FC1BD60-DC83-3CC7-89AC-D734DC18473A> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
       0x18d549000 -        0x18d781fff  com.apple.LaunchServices (1122.44 - 1122.44) <DF1F4EEF-FCE9-32FB-9260-EF19407B965B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
       0x18d782000 -        0x18d85cfff  com.apple.gpusw.MetalTools (1.0 - 1) <D864B42A-7F7B-3262-97CA-1D147DA6C6C3> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
       0x18d85d000 -        0x18dac7fff  libBLAS.dylib (1336.140.1) <B69EAD26-E31A-375C-B49E-40B2D1DCC1B8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
       0x18dac8000 -        0x18db12fff  com.apple.Lexicon-framework (1.0 - 86.2) <CC3E703E-8203-3D96-B8B1-F1C2944C1702> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
       0x18db13000 -        0x18db76fff  libSparse.dylib (106) <E96184A2-1D45-349D-B8E2-B4B405CBF348> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
       0x18db77000 -        0x18dbfefff  com.apple.SystemConfiguration (1.20 - 1.20) <DA2C9DD8-0628-3EF3-85F6-66BF1B627D87> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
       0x18dbff000 -        0x18dc32fff  libCRFSuite.dylib (50) <A37CA396-A6B1-374B-8105-9D678B576B40> /usr/lib/libCRFSuite.dylib
       0x18dc33000 -        0x18de61fff  libmecabra.dylib (929.10) <C4159121-0CA7-3C1F-AA81-1F6DD50E7E47> /usr/lib/libmecabra.dylib
       0x18de62000 -        0x18e1eefff  com.apple.Foundation (6.9 - 1778.101) <A23D1D3A-AD28-3AC2-AEAF-53F4B7A5B2F5> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
       0x18e1ef000 -        0x18e2defff  com.apple.LanguageModeling (1.0 - 247.3) <DEEE1519-4778-3CA0-8578-35664E779408> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
       0x18e2df000 -        0x18e401fff  com.apple.CoreDisplay (237.4 - 237.4) <2CC8483E-D168-3B0D-9E08-9381248D02BF> /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
       0x18e402000 -        0x18e66afff  com.apple.audio.AudioToolboxCore (1.0 - 1181.72) <9427F25C-CE4F-3CC4-985F-E8968FDB2ECA> /System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
       0x18e66b000 -        0x18e83afff  com.apple.CoreText (677.6.0.2 - 677.6.0.2) <E6840741-11BA-3F1B-BD4D-A8F0618391A7> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
       0x18e83b000 -        0x18ee55fff  com.apple.audio.CoreAudio (5.0 - 5.0) <A63499C5-F83C-3944-8B7C-DA026BA6B604> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
       0x18ee56000 -        0x18f1bcfff  com.apple.security (7.0 - 59754.140.13) <38B23856-B7E5-3AA2-9F35-F5ACECB8E5D9> /System/Library/Frameworks/Security.framework/Versions/A/Security
       0x18f1bd000 -        0x18f42efff  libicucore.A.dylib (66112) <987F240B-946D-3F96-AD1A-F3EF6752D5DB> /usr/lib/libicucore.A.dylib
       0x18f42f000 -        0x18f439fff  libsystem_darwin.dylib (1439.141.1) <9BF54A49-874D-3D91-B319-6B2F676FE42D> /usr/lib/system/libsystem_darwin.dylib
       0x18f43a000 -        0x18f72dfff  com.apple.CoreServices.CarbonCore (1307.3 - 1307.3) <2D5028C9-5466-3020-B1E6-0ACD3B80AC24> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
       0x18f76a000 -        0x18f7a5fff  com.apple.CSStore (1122.44 - 1122.44) <26E267F1-2A76-389C-9440-9F3EB0F2C1C0> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
       0x18f7a6000 -        0x18f871fff  com.apple.framework.IOKit (2.0.2 - 1845.120.6) <861ED733-56AF-311B-949E-DC077817E257> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
       0x18f872000 -        0x18f87dfff  libsystem_notify.dylib (279.40.4) <FA85C044-99A5-352D-B7AD-45FB31B295FF> /usr/lib/system/libsystem_notify.dylib
       0x18f8cc000 -        0x19060dfff  com.apple.AppKit (6.9 - 2022.60.128) <53554311-BEF7-3421-8A80-EDFBEFD40209> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
       0x19060e000 -        0x190834fff  com.apple.UIFoundation (1.0 - 728.9) <7595FD16-C324-39BD-8330-9E4CF256104B> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
       0x190835000 -        0x190847fff  com.apple.UniformTypeIdentifiers (637 - 637) <7F7509B9-260B-388E-96FC-D3B2C61B48DD> /System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers
       0x190c7f000 -        0x1913c7fff  libnetwork.dylib (2288.140.7) <992E11C6-A4C3-344F-80F9-D49FC41F9EBB> /usr/lib/libnetwork.dylib
       0x1913c8000 -        0x191850fff  com.apple.CFNetwork (1240.0.4 - 1240.0.4) <9DDF924B-F7D9-3E7E-B2D0-27CF26767169> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
       0x191851000 -        0x191860fff  libsystem_networkextension.dylib (1295.140.3) <0FFACDE5-D546-306D-B9FA-06EC8FCAEEF9> /usr/lib/system/libsystem_networkextension.dylib
       0x191861000 -        0x191862fff  libenergytrace.dylib (22.100.1) <9175E063-EC99-3395-A576-2E7E8EFDB736> /usr/lib/libenergytrace.dylib
       0x191863000 -        0x1918b5fff  libMobileGestalt.dylib (978.140.1) <961DF322-11B4-3E9C-A2D6-D96EB159E0F7> /usr/lib/libMobileGestalt.dylib
       0x1918b6000 -        0x1918cdfff  libsystem_asl.dylib (385) <7F462B8A-541F-3195-9BAE-CDEDFA3BA8A4> /usr/lib/system/libsystem_asl.dylib
       0x1918ce000 -        0x1918e7fff  com.apple.TCC (1.0 - 1) <207AAC8A-1E0E-329F-B19E-BB443993C492> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
       0x1918e8000 -        0x191c56fff  com.apple.SkyLight (1.600.0 - 588.7) <42D48BB2-B5B8-36EB-89B5-DEC02FAD414B> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
       0x191c57000 -        0x192244fff  com.apple.CoreGraphics (2.0 - 1463.17.3) <2411F322-E2CB-3E13-B7E5-7356CDFA093C> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
       0x192245000 -        0x19233afff  com.apple.ColorSync (4.13.0 - 3473.4.3) <CBAD35F7-FEEC-37BD-842D-1F3145E0EDA2> /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
       0x19233b000 -        0x192396fff  com.apple.HIServices (1.22 - 716) <F726DC97-C15F-397A-842B-7CB4DBDA2A69> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
       0x1926f0000 -        0x192a98fff  com.apple.CoreData (120 - 1048) <793DB28D-4D44-346D-84F5-2924E4C90CEA> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
       0x192a99000 -        0x192aaffff  com.apple.ProtocolBuffer (1 - 285.24.10.20.1) <CD2B73C6-DFF0-33DF-869F-E973F5AC74C1> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
       0x192ab0000 -        0x192c4dfff  libsqlite3.dylib (321.3) <5C9A38A7-82B6-3A73-BD16-1D32C3B978C0> /usr/lib/libsqlite3.dylib
       0x192cc3000 -        0x192cd9fff  com.apple.commonutilities (8.0 - 900) <8FB5F198-91AB-3C57-B304-A9EEF49FAFDB> /System/Library/PrivateFrameworks/CommonUtilities.framework/Versions/A/CommonUtilities
       0x192cda000 -        0x192d5cfff  com.apple.BaseBoard (526 - 526) <BC4ECC76-CDC3-3756-88DB-F537BE0B7958> /System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
       0x192d5d000 -        0x192daafff  com.apple.RunningBoardServices (1.0 - 505.100.9) <651DE9C8-E7B1-3452-842D-0808F615E4D9> /System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
       0x192dab000 -        0x192e1efff  com.apple.AE (918.6 - 918.6) <DA0E3AF4-F378-32EC-9B9A-7C8EB3D18097> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
       0x192e1f000 -        0x192e26fff  libdns_services.dylib (1310.140.1) <57E2AA69-70BC-3BC5-90C2-4E6152B2A7BB> /usr/lib/libdns_services.dylib
       0x192e27000 -        0x192e2efff  libsystem_symptoms.dylib (1431.140.1) <0B4FC817-CC87-31F2-872B-BD505D29F5EE> /usr/lib/system/libsystem_symptoms.dylib
       0x192e2f000 -        0x192f8bfff  com.apple.Network (1.0 - 1) <1CF3457C-B1F3-3643-A404-E74EC9C587A0> /System/Library/Frameworks/Network.framework/Versions/A/Network
       0x192f8c000 -        0x192fbefff  com.apple.analyticsd (1.0 - 1) <38259CAA-FC30-3B56-A371-3E6A6AC5D1CA> /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
       0x192fbf000 -        0x192fc1fff  libDiagnosticMessagesClient.dylib (112) <3B3CE40D-33BF-351F-B539-ACD4AF8CDF2E> /usr/lib/libDiagnosticMessagesClient.dylib
       0x192fc2000 -        0x19300dfff  com.apple.spotlight.metadata.utilities (1.0 - 2150.26) <7EA4F807-3DEB-3B59-9112-B632641123EA> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
       0x19300e000 -        0x1930a7fff  com.apple.Metadata (10.7.0 - 2150.26) <F83A2237-7C65-39C4-8D5F-EA3DF716F21E> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
       0x1930a8000 -        0x1930aefff  com.apple.DiskArbitration (2.7 - 2.7) <03246747-F25B-3D05-B2E7-1BE69E878EF3> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
       0x1930af000 -        0x1933b9fff  com.apple.vImage (8.1 - 544.4) <88CFC382-4A40-3339-A5F2-81FDA6D902B3> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
       0x1933ba000 -        0x193677fff  com.apple.QuartzCore (1.11 - 927.24) <1077F760-1430-3263-8E32-2B273631B479> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
       0x193678000 -        0x1936b9fff  libFontRegistry.dylib (309) <4608D786-2101-39B4-8243-04EA0BDB4A5F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
       0x1936ba000 -        0x1937d1fff  com.apple.coreui (2.1 - 692.1) <71572479-4BDB-3BDD-993D-FF5202AFC8E3> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
       0x1938b2000 -        0x1938bcfff  com.apple.PerformanceAnalysis (1.278.3 - 278.3) <81A40179-1530-3EFE-B2D9-EDE9189CF854> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
       0x1938bd000 -        0x1938cafff  com.apple.OpenDirectory (11.6 - 230.40.1) <D63A543A-D51E-3CF6-A3EF-41675E2A830D> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
       0x1938cb000 -        0x1938eafff  com.apple.CFOpenDirectory (11.6 - 230.40.1) <254CB692-3AF0-387D-9EAD-AA72B7F34A59> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
       0x1938eb000 -        0x1938f7fff  com.apple.CoreServices.FSEvents (1290.120.5 - 1290.120.5) <BE1D6BE1-4CD0-3C40-BE95-C7971A139F59> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
       0x1938f8000 -        0x19391bfff  com.apple.coreservices.SharedFileList (144 - 144) <C1CE3C7D-F731-36A2-89FD-DCA13F5532DB> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
       0x19391c000 -        0x19391efff  libapp_launch_measurement.dylib (14.1) <F728FF6C-02B2-31F4-8E05-41068E5E8CFB> /usr/lib/libapp_launch_measurement.dylib
       0x19391f000 -        0x193961fff  com.apple.CoreAutoLayout (1.0 - 21.10.1) <5789DEAE-4BBD-3679-964B-40D6E208E8E8> /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
       0x193962000 -        0x193a4efff  libxml2.2.dylib (34.10) <9C392F20-D487-3A66-93AD-87BA9D7E403E> /usr/lib/libxml2.2.dylib
       0x193a4f000 -        0x193aa2fff  com.apple.CoreVideo (1.8 - 414.7) <CA76EBE0-47A1-3BD9-ACDB-D916D669AF84> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
       0x193aa3000 -        0x193aa5fff  com.apple.loginsupport (1.0 - 1) <C8BF6EE3-6731-35F3-9E71-82A02E131AA6> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
       0x194c83000 -        0x194c94fff  libsystem_containermanager.dylib (318.100.4) <FCE2D8EA-A9D8-3A5D-A908-3E9C0AFFB941> /usr/lib/system/libsystem_containermanager.dylib
       0x194c95000 -        0x194ca6fff  com.apple.IOSurface (290.8.1 - 290.8.1) <6ACC766E-E6F9-3C00-8260-8DB708F1564B> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
       0x194ca7000 -        0x194cb0fff  com.apple.IOAccelerator (442.9 - 442.9) <B372D123-5393-3F3A-8B1F-B438CEEF532E> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
       0x194cb1000 -        0x194d9ffff  com.apple.Metal (244.303 - 244.303) <6F669C63-4630-3788-871F-E53E3E01E0E1> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
       0x194da0000 -        0x194dbffff  com.apple.audio.caulk (1.0 - 70) <EEDB7B44-BD1F-33C4-84E1-E17F923DB939> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
       0x194dc0000 -        0x194eb7fff  com.apple.CoreMedia (1.0 - 2780.10) <DF307253-3872-3DEE-B618-F94C3E0716B2> /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
       0x194eb8000 -        0x195010fff  libFontParser.dylib (305.6.0.4) <C3424839-3C56-3D28-8216-253017B9EC99> /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
       0x195011000 -        0x19531bfff  com.apple.HIToolbox (2.1.1 - 1062) <B4B0CAB2-CEF2-318D-B443-381A1A89C07A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
       0x19531c000 -        0x195333fff  com.apple.framework.DFRFoundation (1.0 - 267) <D95F81AD-74C7-3635-BC53-68D2664E7D1B> /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
       0x195334000 -        0x195337fff  com.apple.dt.XCTTargetBootstrap (1.0 - 18119.1) <812F9359-CA46-3856-AB3D-21D2998C19CB> /System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
       0x195338000 -        0x195362fff  com.apple.CoreSVG (1.0 - 149) <22C3C4CF-94DD-3F9C-9332-E7F1B40B4FC2> /System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
       0x195363000 -        0x195582fff  com.apple.ImageIO (3.3.0 - 2130.7.3) <8C7ADB80-880A-3811-BC89-3DF7F63FB8AB> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
       0x195583000 -        0x19589bfff  com.apple.CoreImage (16.3.0 - 1140.2) <E255BDC9-7882-3692-91A1-064058A25CEF> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
       0x19589c000 -        0x195900fff  com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <DC1CCB7D-A0FE-3704-8FD6-4983B59FF43B> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
       0x195901000 -        0x195905fff  libsystem_configuration.dylib (1109.140.1) <9BC511C4-6613-3F1D-8592-7D3971B24921> /usr/lib/system/libsystem_configuration.dylib
       0x195906000 -        0x19590afff  libsystem_sandbox.dylib (1441.141.4) <CABF63A0-DDAF-3A54-8447-1256DFFD2907> /usr/lib/system/libsystem_sandbox.dylib
       0x19590b000 -        0x19590cfff  com.apple.AggregateDictionary (1.0 - 1) <CBCE1CFE-1A3B-3162-B9BD-91B53E3AED90> /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
       0x19590d000 -        0x195910fff  com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <30FA6080-7520-32BF-86BF-CD8AACD9E956> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
       0x195911000 -        0x195912fff  liblangid.dylib (136) <A0C40FB6-BAD2-3B06-AC12-7FCE295F2693> /usr/lib/liblangid.dylib
       0x195913000 -        0x1959a0fff  com.apple.CoreNLP (1.0 - 245.2) <8D86FF1B-B90A-37FD-990D-CEA65FE35181> /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
       0x1959a1000 -        0x1959a8fff  com.apple.LinguisticData (1.0 - 399) <17E4D57B-5A70-3EC3-8BF5-82B80EFB3348> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
       0x1959a9000 -        0x195e67fff  libBNNS.dylib (288.100.5) <68DE4998-AAF1-35A2-A2F8-28A2E0CBA48C> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
       0x195e68000 -        0x195f16fff  libvDSP.dylib (760.100.3) <5CB9D8BD-028D-318B-99F1-931F53997697> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
       0x195f17000 -        0x195f29fff  com.apple.CoreEmoji (1.0 - 128.4) <F8C05982-DB94-37AA-84DF-891B2116EAAF> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
       0x195f2a000 -        0x195f34fff  com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <F28056C3-DCFF-39F7-9D00-19A03390EACB> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
       0x196223000 -        0x196232fff  com.apple.AssertionServices (1.0 - 505.100.9) <B9759DAF-DED6-3CAF-A18C-2A4C1F94DFEF> /System/Library/PrivateFrameworks/AssertionServices.framework/Versions/A/AssertionServices
       0x196233000 -        0x1962b6fff  com.apple.securityfoundation (6.0 - 55240.40.4) <A417FD02-C1CE-346E-B38B-CE81358B5A97> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
       0x1962b7000 -        0x1962c0fff  com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <7BC12DCA-0109-39D5-B5DE-398520550D66> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
       0x1962c1000 -        0x1962c6fff  com.apple.xpc.ServiceManagement (1.0 - 1) <E7EBA697-AEAD-3AF6-BCCD-A2BEC58537F4> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
       0x1962c7000 -        0x1962c9fff  libquarantine.dylib (119.40.2) <DE9BFFD7-62ED-38ED-BF58-388F192BE6FC> /usr/lib/system/libquarantine.dylib
       0x1962ca000 -        0x1962d9fff  libCheckFix.dylib (31) <95D7D1F7-7C6F-3517-9872-79FCCCCC9D69> /usr/lib/libCheckFix.dylib
       0x1962da000 -        0x1962f0fff  libcoretls.dylib (169.100.1) <AA6DCF55-441A-3474-BE7D-EC441DC8AF9F> /usr/lib/libcoretls.dylib
       0x1962f1000 -        0x196301fff  libbsm.0.dylib (68.40.1) <51614EB7-9B57-3F8F-9679-DDA22278CC9F> /usr/lib/libbsm.0.dylib
       0x196302000 -        0x196347fff  libmecab.dylib (929.10) <FB4CDCDE-4B10-3664-AF49-0F12FC0CE8F3> /usr/lib/libmecab.dylib
       0x196348000 -        0x19634cfff  libgermantok.dylib (24) <EA980CD3-55C6-3413-8798-1808E92B78FF> /usr/lib/libgermantok.dylib
       0x19634d000 -        0x196361fff  libLinearAlgebra.dylib (1336.140.1) <B5918F65-A8A4-3527-9F97-8821CB3D4DC3> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
       0x196362000 -        0x196565fff  com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <75A63926-9BBF-3FD7-AB8F-BAD7DFF3A881> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
       0x196566000 -        0x1965affff  com.apple.MetalPerformanceShaders.MPSRayIntersector (1.0 - 1) <FFDDAE0F-38B2-3156-8244-BF00CD822891> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
       0x1965b0000 -        0x196702fff  com.apple.MLCompute (1.0 - 1) <3C4B7923-366A-3F89-9BE2-00D7252F59A6> /System/Library/Frameworks/MLCompute.framework/Versions/A/MLCompute
       0x196703000 -        0x196731fff  com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <A7CE9CE6-808A-3B89-8733-9DE7F0CD857C> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
       0x196732000 -        0x196784fff  com.apple.MetalPerformanceShaders.MPSNDArray (1.0 - 1) <15018D77-2512-3FB8-A170-4DF3DF5AF90D> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
       0x196785000 -        0x19680cfff  com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <83375879-A492-3EC8-A57A-7630E7C12D33> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
       0x19680d000 -        0x19681cfff  com.apple.AppleFSCompression (125 - 1.0) <BD464B37-0D4C-366B-8E29-21C5E3C4935E> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
       0x19681d000 -        0x196829fff  libbz2.1.0.dylib (44) <CAF8DA55-2A9E-3138-8177-62B54BF056D5> /usr/lib/libbz2.1.0.dylib
       0x19682a000 -        0x19682efff  libsystem_coreservices.dylib (127.1) <F107780A-EFAD-3DC8-A62F-825DD954128E> /usr/lib/system/libsystem_coreservices.dylib
       0x19682f000 -        0x19685ffff  com.apple.CoreServices.OSServices (1122.44 - 1122.44) <3B9B314C-8F7D-3058-9B89-6D4897868633> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
       0x196a14000 -        0x196a25fff  libz.1.dylib (76) <4838F5D2-C9BB-366A-9745-209A80BCC426> /usr/lib/libz.1.dylib
       0x196a26000 -        0x196a53fff  libsystem_m.dylib (3186.100.3) <092A6565-3BE3-3EEF-844E-B846793A4115> /usr/lib/system/libsystem_m.dylib
       0x196a54000 -        0x196a54fff  libcharset.1.dylib (59) <7A25825A-D346-3BB8-AA3F-498510B5E31F> /usr/lib/libcharset.1.dylib
       0x196a55000 -        0x196a5afff  libmacho.dylib (980) <F6CBC87D-DC83-3E5F-A7C0-B0115E7D1BC1> /usr/lib/system/libmacho.dylib
       0x196a5b000 -        0x196a72fff  libkxld.dylib (7195.141.6) <9C25AE8F-59E2-3963-B645-025A7661A69A> /usr/lib/system/libkxld.dylib
       0x196a73000 -        0x196a80fff  libcommonCrypto.dylib (60178.120.3) <146E6A52-3060-32A1-9119-C3D6F8B5C57B> /usr/lib/system/libcommonCrypto.dylib
       0x196a81000 -        0x196a8bfff  libunwind.dylib (201) <2A01EF92-F92D-35F7-B638-8CBC6896DCAA> /usr/lib/system/libunwind.dylib
       0x196a8c000 -        0x196a93fff  liboah.dylib (203.58) <6802DEC1-9ED5-3667-BFE0-3BDDE8BB40E1> /usr/lib/liboah.dylib
       0x196a94000 -        0x196a9cfff  libcopyfile.dylib (173.40.2) <8477DD43-56AA-3422-BF23-4ADC7B98462F> /usr/lib/system/libcopyfile.dylib
       0x196a9d000 -        0x196aa0fff  libcompiler_rt.dylib (102.2) <50E8F23E-3E63-31BF-BFC3-EE75D281B151> /usr/lib/system/libcompiler_rt.dylib
       0x196aa1000 -        0x196aa3fff  libsystem_collections.dylib (1439.141.1) <EA89016C-2C72-3531-84D9-2A696F2DAC85> /usr/lib/system/libsystem_collections.dylib
       0x196aa4000 -        0x196aa6fff  libsystem_secinit.dylib (87.60.1) <836B23E3-DF08-31C8-98AD-4A9B12A4B404> /usr/lib/system/libsystem_secinit.dylib
       0x196aa7000 -        0x196aa9fff  libremovefile.dylib (49.120.1) <687A6E36-0460-30BC-A675-7F83059AE2D9> /usr/lib/system/libremovefile.dylib
       0x196aaa000 -        0x196aaafff  libkeymgr.dylib (31) <C5D64EE9-AB76-3D4C-BC4F-2BE8415DC21A> /usr/lib/system/libkeymgr.dylib
       0x196aab000 -        0x196ab3fff  libsystem_dnssd.dylib (1310.140.1) <DEE0783F-DDC9-35A6-9F6E-6B8FE94FBF0A> /usr/lib/system/libsystem_dnssd.dylib
       0x196ab4000 -        0x196ab9fff  libcache.dylib (83) <2EA812B3-0565-35FA-BF54-DF98EF3DB5DE> /usr/lib/system/libcache.dylib
       0x196aba000 -        0x196abbfff  libSystem.B.dylib (1292.120.1) <1E75FCDF-2357-30FE-AAAD-5290BA722464> /usr/lib/libSystem.B.dylib
       0x196abc000 -        0x196abffff  libfakelink.dylib (3) <F096DD26-38CB-3EC9-8FC1-2F8B11A0675D> /usr/lib/libfakelink.dylib
       0x196ac0000 -        0x196ac0fff  com.apple.SoftLinking (1.0 - 1) <FA588B2E-82E9-3570-B6FE-D2AB5F2A3E28> /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
       0x196ac1000 -        0x196afcfff  libpcap.A.dylib (98.100.3) <842B3358-71DB-3219-9768-0A013DC08CEC> /usr/lib/libpcap.A.dylib
       0x196afd000 -        0x196bf2fff  libiconv.2.dylib (59) <99E6BB0C-73CD-3239-942A-F6DD9325B90A> /usr/lib/libiconv.2.dylib
       0x196bf3000 -        0x196c05fff  libcmph.dylib (8) <7E0DAF54-070D-3D42-B362-94B9138589CF> /usr/lib/libcmph.dylib
       0x196c06000 -        0x196c76fff  libarchive.2.dylib (83.100.2) <5F23CB65-ACED-364E-BD1D-E00247CD6FC7> /usr/lib/libarchive.2.dylib
       0x196c77000 -        0x196ce7fff  com.apple.SearchKit (1.4.1 - 1.4.1) <ADDD7F0A-E78B-3845-BE64-74812504BE39> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
       0x196ce8000 -        0x196ce9fff  libThaiTokenizer.dylib (3) <B12710F8-3816-3CC9-920A-66F44C426429> /usr/lib/libThaiTokenizer.dylib
       0x196cea000 -        0x196d0efff  com.apple.applesauce (1.0 - 16.28) <C6B913E9-6D8D-3C87-B7EA-05306C63587B> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
       0x196d0f000 -        0x196d25fff  libapple_nghttp2.dylib (1.41) <06587250-EE7C-36A1-8A78-C8409EB2ECCD> /usr/lib/libapple_nghttp2.dylib
       0x196d26000 -        0x196d38fff  libSparseBLAS.dylib (1336.140.1) <1FF666F8-7B71-378D-A890-A29032EC6AA4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
       0x196d39000 -        0x196d3afff  com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <D61496E3-2074-3430-8148-A2B716155161> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
       0x196d3b000 -        0x196d3ffff  libpam.2.dylib (28.40.1) <8662B90D-5137-3BCC-BEC6-F7FEB6BD8F01> /usr/lib/libpam.2.dylib
       0x196d40000 -        0x196d5efff  libcompression.dylib (96.120.1) <6BCBE6BF-0CDD-3059-BBB9-45AF92D7EFA7> /usr/lib/libcompression.dylib
       0x196d5f000 -        0x196d63fff  libQuadrature.dylib (7) <FADAC71C-799B-3E44-B16A-3A1B86AB5AB6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
       0x196d64000 -        0x197220fff  libLAPACK.dylib (1336.140.1) <B6E903DD-87DD-31F3-BE53-B16ABAF99A7B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
       0x197221000 -        0x197273fff  com.apple.DictionaryServices (1.2 - 341) <2845ABAE-8FCB-38B0-8F57-72EB3A67CF63> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
       0x197274000 -        0x19728cfff  liblzma.5.dylib (16) <20EEA2A7-C813-3D16-879E-A21431E7E72D> /usr/lib/liblzma.5.dylib
       0x19728d000 -        0x19728efff  libcoretls_cfhelpers.dylib (169.100.1) <AD8955CA-3D74-3B6F-89EB-EDCF21FCE5DE> /usr/lib/libcoretls_cfhelpers.dylib
       0x19728f000 -        0x197373fff  com.apple.APFS (1677.141.2 - 1677.141.2) <CB5718A9-BD52-377D-A53C-91EBEEA21E1E> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
       0x197374000 -        0x197381fff  libxar.1.dylib (452) <FC4663EB-83F1-35E6-B557-9D0F1F8EE4B5> /usr/lib/libxar.1.dylib
       0x197382000 -        0x197385fff  libutil.dylib (58.40.2) <1650ED1F-F6F6-3018-8F7E-151162BF10E6> /usr/lib/libutil.dylib
       0x197386000 -        0x1973affff  libxslt.1.dylib (17.6) <0ADB40D6-F173-3865-A4DE-153889696ED5> /usr/lib/libxslt.1.dylib
       0x1973b0000 -        0x1973bafff  libChineseTokenizer.dylib (37.1) <0D3892E7-FEA4-3161-BAD5-26B593210AA1> /usr/lib/libChineseTokenizer.dylib
       0x1973bb000 -        0x19742afff  libvMisc.dylib (760.100.3) <3ABB75F1-89E8-329F-9BF4-328E2E59B27F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
       0x19742b000 -        0x1974bcfff  libate.dylib (3.0.6) <5D22D187-0024-3E0C-86F7-A5D4258D2101> /usr/lib/libate.dylib
       0x1974bd000 -        0x1974c4fff  libIOReport.dylib (64.100.1) <FAC279D3-3412-307F-AA25-F89318CEB51D> /usr/lib/libIOReport.dylib
       0x19764c000 -        0x197697fff  com.apple.AppleVAFramework (6.1.3 - 6.1.3) <DF7D76CE-AACF-30FB-AB28-9BBE12BD7282> /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
       0x197698000 -        0x1976b2fff  libexpat.1.dylib (26.141.1) <FB2872E3-55D5-3D88-86D8-CD996B06981F> /usr/lib/libexpat.1.dylib
       0x1976b3000 -        0x1976bbfff  libheimdal-asn1.dylib (597.140.2) <382A3FF4-A00D-3E8A-8C7D-C4A511BBC2E3> /usr/lib/libheimdal-asn1.dylib
       0x1976bc000 -        0x1976cefff  com.apple.IconFoundation (479.4 - 479.4) <C6EDE45A-811D-36C7-89C4-EC013603C036> /System/Library/PrivateFrameworks/IconFoundation.framework/Versions/A/IconFoundation
       0x1976cf000 -        0x197732fff  com.apple.IconServices (479.4 - 479.4) <01A40ED2-0F29-3549-A5F5-DB1E596ADD2A> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
       0x197733000 -        0x1977d5fff  com.apple.MediaExperience (1.0 - 1) <ABE3E438-CC27-3911-8599-D7C1E7920769> /System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
       0x1977d6000 -        0x1977fcfff  com.apple.persistentconnection (1.0 - 1.0) <5FD46B59-5D62-366A-80F1-CDE2E8F48555> /System/Library/PrivateFrameworks/PersistentConnection.framework/Versions/A/PersistentConnection
       0x1977fd000 -        0x19780afff  com.apple.GraphVisualizer (1.0 - 100.1) <3467C846-8CD3-3013-B4A8-827D37F7726C> /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
       0x19780b000 -        0x197c1dfff  com.apple.vision.FaceCore (4.3.2 - 4.3.2) <0659DE86-99CF-33AB-A4AF-858F1E940A85> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
       0x197c1e000 -        0x197c5dfff  com.apple.OTSVG (1.0 - 677.6.0.2) <A8AAC595-5839-3E92-8DBD-94B4B6C6F66F> /System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
       0x197c5e000 -        0x197c65fff  com.apple.xpc.AppServerSupport (1.0 - 2038.120.1) <BA05B274-8184-3FE2-B17C-93057F938E5E> /System/Library/PrivateFrameworks/AppServerSupport.framework/Versions/A/AppServerSupport
       0x197c66000 -        0x197c74fff  libhvf.dylib (1.0 - $[CURRENT_PROJECT_VERSION]) <8346C962-1506-3A3F-A6C7-BA096F2DE20A> /System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
       0x197c75000 -        0x197c7bfff  libspindump.dylib (295.2) <2BE38B0F-B9B3-3952-ADA0-A87B9B18E3AE> /usr/lib/libspindump.dylib
       0x197c7c000 -        0x197d2efff  com.apple.Heimdal (4.0 - 2.0) <AB5318BC-CEAC-3178-848D-51F5CB486F0A> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
       0x197ec3000 -        0x197efdfff  com.apple.bom (14.0 - 235) <0F27FA57-F455-30C3-9B19-1111F24ABB6C> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
       0x197efe000 -        0x197f41fff  com.apple.AppleJPEG (1.0 - 1) <9B47B12A-B064-3054-B702-203A0E18193B> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
       0x197f42000 -        0x198023fff  libJP2.dylib (2130.7.3) <239163F1-8926-3DB9-A74A-BA78CE654923> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
       0x198024000 -        0x198027fff  com.apple.WatchdogClient.framework (1.0 - 98.120.2) <D31E52D8-3319-398C-ABB3-662F09B6FB98> /System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
       0x198028000 -        0x198060fff  com.apple.MultitouchSupport.framework (4440.3 - 4440.3) <FAFF2118-A5D5-32B6-86C3-FDB644D9C0D3> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
       0x198061000 -        0x198191fff  com.apple.VideoToolbox (1.0 - 2780.10) <A05CFA20-8426-363C-BFA6-9B5EE3C2B677> /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
       0x198192000 -        0x1981c4fff  libAudioToolboxUtility.dylib (1181.72) <F44754B1-C105-39EF-A74E-DE11044A66C9> /usr/lib/libAudioToolboxUtility.dylib
       0x1981c5000 -        0x1981e6fff  libPng.dylib (2130.7.3) <EAF5C641-7DE2-3118-8B7D-3350A2221A9B> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
       0x1981e7000 -        0x198243fff  libTIFF.dylib (2130.7.3) <6FF8682B-E15C-3F53-BCAA-3F7506D001B4> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
       0x198244000 -        0x198262fff  com.apple.IOPresentment (58 - 37) <F512B94D-3A19-3C41-A141-C6378ED2389C> /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
       0x198263000 -        0x198267fff  com.apple.GPUWrangler (6.3.5 - 6.3.5) <A1FD7B00-CADC-3763-97E9-9670E995C891> /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
       0x198268000 -        0x19826afff  libRadiance.dylib (2130.7.3) <74D02264-14F4-3558-BE8E-EA3D89394B68> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
       0x19826b000 -        0x198270fff  com.apple.DSExternalDisplay (3.1 - 380) <A2976364-E3A6-31F0-86E9-034264EA5085> /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
       0x198271000 -        0x198291fff  libJPEG.dylib (2130.7.3) <F15FA798-BE50-378D-9443-95B33D51C605> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
       0x198292000 -        0x1982c1fff  com.apple.ATSUI (1.0 - 1) <0346055A-5ACC-3E05-86F5-2C3D2E75B12E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
       0x1982c2000 -        0x1982c6fff  libGIF.dylib (2130.7.3) <D44F29A9-0B4B-39ED-B496-C89F5B672BB4> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
       0x1982c7000 -        0x1982d0fff  com.apple.CMCaptureCore (1.0 - 82.6) <4830FC37-AB0B-361A-B192-0DE38613FB9E> /System/Library/PrivateFrameworks/CMCaptureCore.framework/Versions/A/CMCaptureCore
       0x1982d1000 -        0x198318fff  com.apple.print.framework.PrintCore (16.1 - 531.1) <CCBF27C4-947C-3535-98D0-41E78BB35460> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
       0x198319000 -        0x1983ccfff  com.apple.TextureIO (3.10.9 - 3.10.9) <4B849AA8-4457-3905-B4AD-AA2C70DECD56> /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
       0x1983cd000 -        0x1983d5fff  com.apple.InternationalSupport (1.0 - 61.1) <F844FFED-F66B-3724-8230-71A276B0F094> /System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
       0x1983d6000 -        0x19844afff  com.apple.datadetectorscore (8.0 - 674) <BF938E01-DD84-3F50-AB8C-E821401A4505> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
       0x19844b000 -        0x1984aafff  com.apple.UserActivity (439 - 439) <D9CB69F1-627D-3E8A-ABDB-0D6F7069641E> /System/Library/PrivateFrameworks/UserActivity.framework/Versions/A/UserActivity
       0x19918d000 -        0x1991c2fff  libSessionUtility.dylib (76.69) <FD63D74A-C798-31EB-AA5C-F6FF0A82A667> /System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
       0x1991c3000 -        0x1992ebfff  com.apple.audio.toolbox.AudioToolbox (1.14 - 1.14) <22835349-6C44-3EA8-AA41-AA43856A11D2> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
       0x1992ec000 -        0x199353fff  com.apple.audio.AudioSession (1.0 - 76.69) <5FB74E3B-F200-3FC8-AF91-9438E8C79CB6> /System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
       0x199354000 -        0x199366fff  libAudioStatistics.dylib (27.64) <156A7CA4-9A1D-3FEE-AAFC-849D330FE9D4> /usr/lib/libAudioStatistics.dylib
       0x199367000 -        0x19937afff  com.apple.speech.synthesis.framework (9.0.66 - 9.0.66) <C921A7C2-30F5-3FE9-9B9D-C31454F7ED11> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
       0x19937b000 -        0x1993e9fff  com.apple.ApplicationServices.ATS (377 - 516) <71316EFD-FE97-3EE6-9997-CBC11F453539> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
       0x1993ea000 -        0x199402fff  libresolv.9.dylib (68) <287B0B90-55FD-3227-B5FD-256464AA2496> /usr/lib/libresolv.9.dylib
       0x19952f000 -        0x19960efff  libSMC.dylib (20) <A1623EF3-F1C6-32BC-8F31-FA23BEACA5F3> /usr/lib/libSMC.dylib
       0x19960f000 -        0x19966cfff  libcups.2.dylib (494.3) <0B99F7B0-2190-3D6B-BCF1-C67C8BC6128F> /usr/lib/libcups.2.dylib
       0x19966d000 -        0x199680fff  com.apple.LangAnalysis (1.7.0 - 254) <0DA1AFE0-521E-3CF9-B75C-530303B6AC64> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
       0x199681000 -        0x19968dfff  com.apple.NetAuth (6.2 - 6.2) <EA6D2796-9AB9-3D4A-9E71-3FAE3AB2FE94> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
       0x19968e000 -        0x199695fff  com.apple.ColorSyncLegacy (4.13.0 - 1) <C2DE1097-89BD-3F01-8ABE-4DF1634D8088> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
       0x199696000 -        0x1996a1fff  com.apple.QD (4.0 - 416) <F1DD1BB2-EEF6-3BA0-9193-1E4013D9D32C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
       0x1996a2000 -        0x199c92fff  com.apple.audio.AudioResourceArbitration (1.0 - 1) <299FA1A8-2287-35D6-BAC7-9DE3C1D74667> /System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
       0x199c93000 -        0x199c9efff  com.apple.perfdata (1.0 - 67.40.1) <DE277EEC-8807-364B-8AE0-7E4E28BB198F> /System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
       0x199c9f000 -        0x199cacfff  libperfcheck.dylib (41) <5006BCAD-219C-31BF-B6DC-FE5D93D95D8A> /usr/lib/libperfcheck.dylib
       0x199cad000 -        0x199cbdfff  com.apple.Kerberos (3.0 - 1) <3E11D5D5-8F87-3FB4-94BB-CA4333C4C248> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
       0x199cbe000 -        0x199d05fff  com.apple.GSS (4.0 - 2.0) <F62274B4-1A51-35B7-8C5F-D57F20C2ADCE> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
       0x199d06000 -        0x199d15fff  com.apple.CommonAuth (4.0 - 2.0) <D2A10DEE-958D-30C0-AF1F-09DC40535ED3> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
       0x199ed9000 -        0x199ed9fff  liblaunch.dylib (2038.120.1) <AA4E8477-1B82-357E-8275-FFED1F957AF9> /usr/lib/system/liblaunch.dylib
       0x19c11f000 -        0x19c146fff  com.apple.RemoteViewServices (2.0 - 163) <F6E41601-C7FC-384D-BACD-D5672E31581D> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
       0x19c147000 -        0x19c156fff  com.apple.SpeechRecognitionCore (6.1.25 - 6.1.25) <BDE7F901-481A-321C-B907-77810DC6F7DE> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
       0x19c157000 -        0x19c15efff  com.apple.speech.recognition.framework (6.0.3 - 6.0.3) <E67E8B4B-97D5-330D-8236-AE3CC243B092> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
       0x19c38d000 -        0x19c38dfff  libsystem_product_info_filter.dylib (8.40.1) <14136F56-3690-3346-90A0-31FC34DF3E1B> /usr/lib/system/libsystem_product_info_filter.dylib
       0x19c460000 -        0x19c460fff  com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <372F4BDE-9AA6-3832-A25D-585683D7EFBA> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
       0x19c482000 -        0x19c482fff  com.apple.CoreServices (1122.44 - 1122.44) <7CA890C2-3B87-3C10-B438-1AEB34A9E1BE> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
       0x19c63f000 -        0x19c63ffff  com.apple.Accelerate (1.11 - Accelerate 1.11) <6CA149E0-61A2-3868-9ADF-A4AA815F3D24> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
       0x19f2a9000 -        0x19f2a9fff  com.apple.ApplicationServices (48 - 50) <D95E49E2-E412-3D22-83E2-2F230D1DB990> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
       0x19f599000 -        0x19f599fff  libHeimdalProxy.dylib (79) <7CC40013-93B4-3E9C-A96D-D2ABB02E9D2E> /System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
       0x19ffae000 -        0x19ffb4fff  com.apple.ASEProcessing (1.26.0 - 1.26.0) <3D723C7F-BCD1-30AA-995E-A8296550F6A9> /System/Library/PrivateFrameworks/ASEProcessing.framework/Versions/A/ASEProcessing
       0x1a1474000 -        0x1a1477fff  com.apple.IOSurfaceAccelerator (1.0.0 - 1.0.0) <8891C31D-C3A6-30B5-9CE8-DA5421F36718> /System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/Versions/A/IOSurfaceAccelerator
       0x1a8ac1000 -        0x1a8addfff  com.apple.private.SystemPolicy (1.0 - 1) <E35FEA3F-F34D-38D0-A30C-B6D12D91E5C5> /System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy
       0x1a944e000 -        0x1a9460fff  libmis.dylib (274.140.2) <9AB0F36D-3AF3-3802-A2DA-C7C682498655> /usr/lib/libmis.dylib
       0x1bce5c000 -        0x1bce62fff  com.apple.framework.netrb (1.0 - 1) <91BE035E-EEB9-3574-91EF-9FECB9902F8B> /System/Library/PrivateFrameworks/Netrb.framework/Versions/A/Netrb
       0x1c359d000 -        0x1c35b8fff  libJapaneseConverter.dylib (90) <8C361A6E-08DA-3ECF-A5AF-55895D122288> /System/Library/CoreServices/Encodings/libJapaneseConverter.dylib
       0x1cf0d4000 -        0x1cf0dafff  libCoreFSCache.dylib (200.11) <DAADD744-04FC-31FD-BD25-5A41C5B2F7F0> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
       0x1cf0db000 -        0x1cf0e0fff  libCoreVMClient.dylib (200.11) <1A2DD0B4-1C56-3C7B-B5B7-06AF9F73D3D7> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
       0x1cf0e1000 -        0x1cf0f0fff  com.apple.opengl (18.5.9 - 18.5.9) <B029862B-C41D-3E2D-BE9F-DB16805750F4> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
       0x1cf0f1000 -        0x1cf0f3fff  libCVMSPluginSupport.dylib (18.5.9) <75509F55-33A5-3A15-8A37-6EE18C772015> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
       0x1cf0f4000 -        0x1cf0fcfff  libGFXShared.dylib (18.5.9) <C77BF686-35D2-3AAC-9AF6-FBD2A7991F14> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
       0x1cf0fd000 -        0x1cf135fff  libGLImage.dylib (18.5.9) <A070E58F-3097-3586-92BD-AD4E76324845> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
       0x1cf136000 -        0x1cf16efff  libGLU.dylib (18.5.9) <C66427E6-830D-340A-8817-49C857863DEB> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
       0x1cf2dc000 -        0x1cf2e6fff  libGL.dylib (18.5.9) <6B5127DA-3097-3979-BF12-0DC83771C8D0> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
       0x1cf477000 -        0x1cf4d6fff  com.apple.opencl (4.6 - 4.6) <95665FCE-A143-3B7B-B011-37AC651C03A2> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
       0x1d073b000 -        0x1d073efff  com.apple.Hypervisor (1.0 - 1) <22165452-B7BD-38FF-B3B5-2C9C72AFC9DE> /System/Library/Frameworks/Hypervisor.framework/Versions/A/Hypervisor
       0x1d147f000 -        0x1d14e7fff  com.apple.Virtualization (1.0 - 25.9) <53C76BF1-EFE3-3BE2-BB5C-F5CD3752126C> /System/Library/Frameworks/Virtualization.framework/Versions/A/Virtualization
       0x1d185a000 -        0x1d1861fff  com.apple.framework.vmnet (1.0 - 1) <DE4DE0BD-2583-3A78-ABDF-66981A3F5422> /System/Library/Frameworks/vmnet.framework/Versions/A/vmnet

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=652.4M resident=0K(0%) swapped_out_or_unallocated=652.4M(100%)
Writable regions: Total=304.8M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=304.8M(100%)
 
                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
Dispatch continuations            64.0M        1 
Kernel Alloc Once                   32K        1 
MALLOC                            62.1M       19 
MALLOC guard page                   96K        5 
MALLOC_MEDIUM (reserved)         120.0M        1         reserved VM address space (unallocated)
STACK GUARD                       56.2M       11 
Stack                             13.3M       11 
VM_ALLOCATE                        1.7G       24 
__AUTH                             515K      112 
__AUTH_CONST                      7706K      244 
__DATA                            4871K      235 
__DATA_CONST                      8977K      242 
__DATA_DIRTY                       562K       89 
__FONT_DATA                          4K        1 
__LINKEDIT                       490.4M        4 
__OBJC_CONST                      1038K       92 
__OBJC_RO                         75.1M        1 
__OBJC_RW                         2576K        1 
__TEXT                           162.0M      256 
__UNICODE                          588K        1 
shared memory                       32K        2 
===========                     =======  ======= 
TOTAL                              2.7G     1354 
TOTAL, minus reserved VM space     2.6G     1354 

Bridged Networking

Is your feature request related to a problem? Please describe.
Bridged networking support. It looks like this is partially implemented, but I cannot find an example using NewBridgedNetworkDeviceAttachment.

'VZVirtualMachineView' has been marked as being introduced in macOS 12.0 here, but the deployment target is macOS 11.0.0

Describe the bug

Get a compilation warning message.

To Reproduce
Steps to reproduce the behavior:

We can see make test

Expected behavior

No warning

Screenshots

go test -exec "go run /Users/runner/work/vz/vz/cmd/codesign" -count=1 ./...
go: downloading golang.org/x/sys v0.0.0-20220808155132-1c4a2a[7](https://github.com/Code-Hex/vz/actions/runs/3247329051/jobs/5327163236#step:4:8)2c664
# github.com/Code-Hex/vz/v2
virtualization_view.m:170:5: warning: 'VZVirtualMachineView' is only available on macOS 12.0 or newer [-Wunguarded-availability-new]
/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Virtualization.framework/Headers/VZVirtualMachineView.h:23:12: note: 'VZVirtualMachineView' has been marked as being introduced in macOS 12.0 here, but the deployment target is macOS 11.0.0
./virtualization_view.h:25:12: note: annotate 'AppDelegate' with an availability attribute to silence this warning
virtualization_view.m:1[8](https://github.com/Code-Hex/vz/actions/runs/3247329051/jobs/5327163236#step:4:9)4:5: warning: 'VZVirtualMachineView' is only available on macOS 12.0 or newer [-Wunguarded-availability-new]
/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Virtualization.framework/Headers/VZVirtualMachineView.h:23:12: note: 'VZVirtualMachineView' has been marked as being introduced in macOS 12.0 here, but the deployment target is macOS 11.0.0
virtualization_view.m:184:5: note: enclose 'VZVirtualMachineView' in an @available check to silence this warning
virtualization_view.m:184:37: warning: 'VZVirtualMachineView' is only available on macOS 12.0 or newer [-Wunguarded-availability-new]
/Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Virtualization.framework/Headers/VZVirtualMachineView.h:23:12: note: 'VZVirtualMachineView' has been marked as being introduced in macOS 12.0 here, but the deployment target is macOS [11](https://github.com/Code-Hex/vz/actions/runs/3247329051/jobs/5327163236#step:4:12).0.0
virtualization_view.m:184:37: note: enclose 'VZVirtualMachineView' in an @available check to silence this warning
ok  	github.com/Code-Hex/vz/v2	1.457s
?   	github.com/Code-Hex/vz/v2/cmd/codesign	[no test files]
ok  	github.com/Code-Hex/vz/v2/internal/progress	3.328s

Environment (please complete the following information):

  • macOS Version: 11
  • Go Version: all

Seeking Continuous Sponsorship for development

I'm the author of the vz project, which is aimed at creating virtual machines and running Linux-based operating systems using Go, leveraging Apple's Virtualization.framework. This project has grown in complexity due to several factors:

  1. Integration with Apple's Virtualization.framework requiring a deep understanding of Go programming and Apple's virtualization technology.
  2. Ensuring compatibility with evolving APIs and various Linux-based operating systems.
  3. Efficient virtual machine management, particularly in cross-platform scenarios.
  4. Necessity for maintaining PUI PUI Linux used as a peripheral tool for testing to ensure quality.

The challenges mentioned above, along with the demanding API upkeep, have made maintenance time-consuming and occasionally overwhelming, especially as this is not my full-time job. I am handling several other projects which often results in a lower priority for vz maintenance.

I believe with continuous sponsorship, it will be feasible to dedicate more time to this project, even during weekends, treating it as a job, and managing it with a fresh mindset. This support would significantly help in ensuring the project's steady progress, quality assurance, and the provision of better features and support for the community.

Your support would mean a lot and contribute immensely to the ongoing development and maintenance of the vz project.

Thank you for considering sponsorship 🙏

Occasional ` runtime/cgo: misuse of an invalid Handle` panic when using vsock

Describe the bug

When using vsock to connect from the VM to the host, I sometimes get a panic:

panic: runtime/cgo: misuse of an invalid Handle

goroutine 17 [running, locked to thread]:
runtime/cgo.Handle.Value(...)
	/usr/local/go/src/runtime/cgo/handle.go:124
github.com/Code-Hex/vz/v3.shouldAcceptNewConnectionHandler(0x14000182000?, 0x0?, 0x14000000001?)
	/Users/teuf/go/pkg/mod/github.com/!code-!hex/vz/[email protected]/socket.go:231 +0x11c

To Reproduce

I'm afraid I don't have a clear reproducer.

Expected behavior
No panic
Screenshots
If applicable, add screenshots to help explain your problem.

Environment that you use to compile (please complete the following information):

  • Xcode version: [xcodebuild -version | pbcopy]
  • macOS Version: [sw_vers | pbcopy]
ProductName:		macOS
ProductVersion:		13.4.1
BuildVersion:		22F82
  • mac architecture: [arm64]
  • Go Version: [go version | pbcopy]
% go version
go version go1.20.5 darwin/arm64

Additional context
The fix might be similar to some of the recent fixes in the v3 branch (?)

Help to implement Zoom In, Zoom out VZVirtualMachineView

It is not among the features provided by Apple but, I attempted to provide pinch-in zoom-in, and zoom-out functionality like iPhone for the window that serves as the GUI display in this package.

However, This was too difficult than expected and was once out of the scope.

VZVirtualMachineView inherits from NSView. So I was thinking that if I made the document view of the NSScrollView and applied the scroll view to the window, it would be complete.

The problem is...

  • VZVirtualMachineView receives the VZVirtualMachine object via property. After receiving it, this view no longer accepts multi-touch gestures. Instead, these events are proxied to the guest OS.
  • Therefore necessary to temporarily prevent the events related to mouse movements from being transmitted to this view.
  • This has been successful. However, it was not possible to perform operations such as zooming in on the key views.
  • As I will be described later, this view has an internal NSTrackingArea, which probably needs to do anything.

Terminating app due to uncaught exception 'UnhandledException', reason: 'bug' with older sdk and latest macOS

Describe the bug

Terminating app due to uncaught exception 'UnhandledException', reason: 'bug'

To Reproduce

This occurs when compiling with an older SDK and running the macOS 13 API.

Expected behavior

No this exceptions to be raised.

Environment that you use to compile (please complete the following information):

  • Xcode version: [xcodebuild -version | pbcopy]
Xcode 14.0.1
Build version 14A400
  • macOS Version: [sw_vers | pbcopy]
ProductName:		macOS
ProductVersion:		13.0
BuildVersion:		22A380
  • mac architecture: [uname -m | pbcopy]
arm64
  • Go Version: [go version | pbcopy]
go version go1.19 darwin/arm64

Additional context
Add any other context about the problem here.

Segmentation fault in some control methods on x86_64

This reintroduces code which was removed in 481c580.
The Block_copy/Block_release calls from this helper seem to be needed on my
x86_64 macOS11 machine. Without this, example/linux/virtualization segfaults
in startWithCompletionHandler.

This fixes this ASAN error:

=================================================================
==56003==ERROR: AddressSanitizer: requested allocation size 0x53cb4e83f8b48 (0x53cb4e83f9b48 after adjustments for alignment, red zones etc.) exceeds maximum supported size of 0x10000000000 (thread T6)
    #0 0x43f0400 in wrap_malloc+0xa0 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x44400)
    #1 0x7fff205753ba in _Block_copy+0x5e (libsystem_blocks.dylib:x86_64+0x13ba)
    #2 0x7fff6f594307 in Base::BlockPtr<void (bool)> Base::BlockPtr<void (bool)>::from_callable<-[VZVirtualMachine startWithCompletionHandler:]::$_13>(-[VZVirtualMachine startWithCompletionHandler:]::$_13)::'lambda'(void*, bool)::__invoke(void*, bool)+0xb37 (Virtualization:x86_64+0x24307)
    #3 0x43ef5fa in __wrap_dispatch_async_block_invoke+0xca (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x435fa)
    #4 0x7fff20691622 in _dispatch_call_block_and_release+0xb (libdispatch.dylib:x86_64+0x2622)
    #5 0x7fff20692805 in _dispatch_client_callout+0x7 (libdispatch.dylib:x86_64+0x3805)
    #6 0x7fff206985e9 in _dispatch_lane_serial_drain+0x25d (libdispatch.dylib:x86_64+0x95e9)
    #7 0x7fff206990ac in _dispatch_lane_invoke+0x16d (libdispatch.dylib:x86_64+0xa0ac)
    #8 0x7fff206a2c0c in _dispatch_workloop_worker_thread+0x32a (libdispatch.dylib:x86_64+0x13c0c)
    #9 0x7fff2083945c in _pthread_wqthread+0x139 (libsystem_pthread.dylib:x86_64+0x345c)
    #10 0x7fff2083842e in start_wqthread+0xe (libsystem_pthread.dylib:x86_64+0x242e)

Post by @cfergeau #46

Support for VirtualMachine.networkDevices

Is your feature request related to a problem? Please describe.
Currently there are some network issues. Mostly this happens in cases where system is put on sleep. This support help to debug network issues better and also mostly resolve by reconnecting

Describe the solution you'd like
Support for VirtualMachine.networkDevices. With this support, we can use attachmentWasDisconnectedWithError to understand what went wrong and also this provides support for updating the network attachment on the fly.

Additional context
https://developer.apple.com/documentation/virtualization/vzvirtualmachinedelegate/3869835-virtualmachine?language=objc
https://developer.apple.com/documentation/virtualization/vznetworkdevice/3869833-attachment?language=objc

Add some tests

Tasks

  • checking available versions
  • integration tests
    • add CI for macOS 11

panic: runtime/cgo: misuse of an invalid Handle on RequestStop and waiting for vm stopped state

Describe the bug
Issue is similar to the #119. But now it happens mainly during RequestStop and waiting for vm state to change to stop

To Reproduce
Steps to reproduce the behavior:

  1. limactl start template://experimental/vz
  2. limactl stop vz
  3. Notice panic happened

Expected behavior
No panic occurs during stop

Environment that you use to compile (please complete the following information):

  • Xcode version: [Xcode 14.1 Build version 14B47b]
  • macOS Version: [ProductName: macOS, ProductVersion: 13.2, BuildVersion: 22D49]
  • mac architecture: [x86_64]
  • Go Version: [go version go1.20.1 darwin/amd64]

Additional context
lima-vm/lima#1381

Add accessor for VZVirtualMachineConfiguration:socketDevices

Is your feature request related to a problem? Please describe.

It's not allowed to add more than one virtio-vsock device to a virtual machine.
https://developer.apple.com/documentation/virtualization/vzvirtualmachineconfiguration/3656726-socketdevices?language=objc says:

create a single VZVirtioSocketDeviceConfiguration object, add it to an array, and assign it to this property.

It would be useful to have an accessor for this property. This accessor would make it possible to check if the VZVirtualMachineConfiguration being created has already been assigned a virtio-vsock device or not.

Describe the solution you'd like

A func (v *VirtualMachineConfiguration) SocketDevices() []SocketDeviceConfiguration go method would be useful to have. It's then possible to check its length to know if it's necessary to create a new VirtioSocketDeviceConfiguration, or if the device is already present.

I've implemented this in cfergeau@3a33c57
It's based on the code for VirtualMachine:SocketDevices
I can file a PR for it.

Is it possible to run pre-built MacOS images from Packer?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Is it possible to run pre-built MacOS images from Packer?

Describe the solution you'd like
A clear and concise description of what you want to happen.

I saw that Tart CI (licensed under a non-OSS license) shows how to build images using Packer, which can be saved and then loaded up on demand for things like CI runners.

Since I know of Lima which uses vz, I wanted to ask you whether this is possible with vz? The example only mentions being able to load a restore image, which doesn't sound like the same thing.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

It'd be interesting to be able to launch an Arm64 MacOS VM on Apple Silicon to run CI builds.

Seems like the main use-case here or the well-trodden path is Linux VMs on Apple hardware?

Code-Hex/vz exports internal methods

Describe the bug

API documentation on https://pkg.go.dev/github.com/Code-Hex/vz/v2 lists many Ptr() Release() methods. These methods are used internally by vz for the objc/go binding code. I don't think any external users should call them. Doing so could even cause memory corruption/crashes.

To Reproduce
Go to https://pkg.go.dev/github.com/Code-Hex/vz/v2 and see methods such as
DiskImageStorageDeviceAttachment.Ptr, VirtualMachine.Release, ...

Expected behavior
These internal methods are not exported and do not appear in the package API documentation.

Additional context
#49 made Ptr() and Release() private. Another way of addressing this may to use an internal/objc package

Shared data structure can be accessed concurrently

Describe the bug

shouldAcceptNewConnectionHandlers is a global variable which will be accessed both from NewVirtioSocketListener and shouldAcceptNewConnectionHandler. NewVirtioSocketListener may be called from a different thread/go routine than the one shouldAcceptNewConnectionHandler will run in. We need to protect accesses to shouldAcceptNewConnectionHandlers with a mutex in order to avoid concurrency problems.

Patch from kata-container/vz doing this, rebased on top of master: master...cfergeau:vz:kata

VZFileHandleNetworkDeviceAttachment should support AF_UNIX type DGRAM sockets

Describe the bug
The fileHandle must be a datagram socket error thrown for AF_UNIX type Datagram socket.

Virtualization framework provides support for Datagram socket of type AF_UNIX as well

To Reproduce
Steps to reproduce the behavior:

vz.NewFileHandleNetworkDeviceAttachment(f) // f has a file descriptor which is a datagram socket of type AF_UNIX

Refer https://github.com/balajiv113/lima/blob/driver/pkg/vz/vz_driver.go#L132 for creating AF_UNIX based DATAGRAM socket

Expected behavior
No error thrown.

Environment that you use to compile (please complete the following information):

  • Xcode version: [Xcode 14.1, Build version 14B47b]
  • macOS Version: [ProductName: macOS ProductVersion: 13.0 BuildVersion: 22A380 ]
  • mac architecture: [x86_64 ]
  • Go Version: [go version go1.19.2 darwin/amd64 ]

Additional context
This issue occurs due to the recently added validation of isInet check here

vz/network.go

Line 176 in c4f6e4b

case *syscall.SockaddrInet4, *syscall.SockaddrInet6:

Support building in older version of macOS

Thanks a lot for this awesome library.
For better integration with existing products, it would be great if we could support building in older version.

For Instance,
macOS 10.x - Building will successful & execution will throw error saying virtualization not supported
macOS 12.x - Building will successful & execution will be successful as well

With this support, it will be easier to integrate to existing tools that still supports macOS 10.x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.