-
-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
start/pause/stop: Readd 'generateHandler' helper #46
Conversation
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) Code-Hex#1 0x7fff205753ba in _Block_copy+0x5e (libsystem_blocks.dylib:x86_64+0x13ba) Code-Hex#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) Code-Hex#3 0x43ef5fa in __wrap_dispatch_async_block_invoke+0xca (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x435fa) Code-Hex#4 0x7fff20691622 in _dispatch_call_block_and_release+0xb (libdispatch.dylib:x86_64+0x2622) Code-Hex#5 0x7fff20692805 in _dispatch_client_callout+0x7 (libdispatch.dylib:x86_64+0x3805) Code-Hex#6 0x7fff206985e9 in _dispatch_lane_serial_drain+0x25d (libdispatch.dylib:x86_64+0x95e9) Code-Hex#7 0x7fff206990ac in _dispatch_lane_invoke+0x16d (libdispatch.dylib:x86_64+0xa0ac) Code-Hex#8 0x7fff206a2c0c in _dispatch_workloop_worker_thread+0x32a (libdispatch.dylib:x86_64+0x13c0c) Code-Hex#9 0x7fff2083945c in _pthread_wqthread+0x139 (libsystem_pthread.dylib:x86_64+0x345c) Code-Hex#10 0x7fff2083842e in start_wqthread+0xe (libsystem_pthread.dylib:x86_64+0x242e)
@cfergeau Thanks. It seems the problem is |
I tested git master with this change, but I still get the asan error described in the commit log.
|
I think you may use Please write test code. Thanks |
|
@cfergeau I mean, writing a test code is writing TestXXX function in xxx_test.go. In current PR, you should write TestStart, TestStop, TestResume, TestRequestStop functions in virtualization_test.go I'm very sorry but I can't trust without some test code. -asan option is introduced in go1.18 |
It's good that you insist on it, especially because I forgot to mention that I'd look into these test functions, but I did not have time yet for it |
@cfergeau I'm sorry I can't accept your PR because I don't have a way to check fixed or not |
I am working on adding tests, but so far I've only been able to reproduce the issue on x86_64 machines. Can we keep this open a while longer while I finish the tests? |
Why close this PR?
I believe the clue here is 'not ... yet'. |
So far I have written cfergeau@36da76c which is missing vmlinuz/initrd, but hopefully good enough for the tests I want to do :) |
Can this be reopened? I've added tests triggered in github actions in https://github.com/cfergeau/vz/tree/asan |
I think he has time to work on this. According to the planning of our current sprint he allocated time to work on time syncing issues on macOS virtualization, vz/vfkit related changes and some other small side issues. So, I think this can be re-opened... unless you have other ideas and/or more time? |
https://github.com/cfergeau/vz/actions/runs/3089765099/jobs/4997751402 is all red, the macOS11 failure is fixed by cfergeau@bb57273 and the macOS12 failure is fixed by cfergeau@cdf340a With these 2 changes, https://github.com/cfergeau/vz/actions/runs/3089887405/jobs/4998004598 is green. |
@cfergeau @gbraad From the beginning, only a reply such as "OK, I will fix later" should be sufficient. I was merely responding to the reply, "I don't have time." Anyway, I will write the base testing code and then fix it. Also add the Contribution Guidelines so that modifications without test code are not accepted. Thanks |
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
segfaultsin
startWithCompletionHandler.
This fixes this ASAN error: