Networking issue in VMware
Thursday, March 14, 2019
After upgrading my VMware Linux bootcamp partition, I ran again into
the same old problem I have with every upgrade. See
the 2017 edition and
the 2018 edition.
I thought this was the same thing, but it's not. The configuration
file is still there. I ended up reinstalling VMware tools completely,
but it did not really help. This time, it appears to be somewhat
random, with teh e1000 going up and down at unpredictable intervals:
[ 713.513746] e1000e: ens160 NIC Link is Down
[ 718.453242] e1000e: ens160 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 8226.214766] e1000e: ens160 NIC Link is Down
[ 8231.270000] e1000e: ens160 NIC Link is Up 1000 Mbps Full Duplex, Flow Control:
Spice spurious warnings
Thursday, March 7, 2019
Here is what you typically see from SPICE on a normal setup:
(virt-viewer:6229): GSpice-WARNING **: 10:45:34.323: PulseAudio context failed Connection refused
(virt-viewer:6229): GSpice-WARNING **: 10:45:34.323: pa_context_connect() failed: Connection refused
AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': Connection refused
AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa005
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:35.801: g_object_get: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:35.801: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': Connection refused
AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa005
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.393: g_object_get: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.393: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': Connection refused
AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa005
AL lib: (EE) ALCcaptureAlsa_open: Could not open capture device 'default': Connection refused
AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa004
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.599: g_object_set: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.599: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.600: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GSpice-WARNING **: 10:45:36.600: gst lacks volume capabilities on src
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.600: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GSpice-WARNING **: 10:45:36.600: gst lacks mute capabilities on src: 0
(virt-viewer:6229): GLib-GObject-CRITICAL **: 10:45:36.600: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
(virt-viewer:6229): GSpice-WARNING **: 10:45:36.649: Warning no automount-inhibiting implementation available
(virt-viewer:6229): GSpice-WARNING **: 10:45:41.934: keyboard grab failed 1
(virt-viewer:6229): GSpice-WARNING **: 10:45:41.939: keyboard grab failed 1
(virt-viewer:6229): GSpice-WARNING **: 10:45:47.865: keyboard grab failed 4
(virt-viewer:6229): GSpice-WARNING **: 10:46:02.623: keyboard grab failed 4
Created Red Hat Bugzilla 1686367.
Virtual machines updates
Udpates of the mac VMs. Why does Windows Update not detect any update?
The network works fine from within the VM as far as Internet Explorer
is concerned.
Also just noticed that the VMware memory accounting is bogus. It shows
my vmware-vmx processes as using about 100MB when in reality it's
a 4G guest. Apparently, my system has trouble dealing with two
simultaneously active 4G guests. That's weird for a machine with 16G.
Noticed that the F29 installer no longer asks for a root or user
password during installation. You have to enter it at first boot. Very
annoying, since during installation, it was "wasted time" anyway
(i.e. the installer was busy copying files).
After upgrade, Apple Screen Sharing with Crazypad is broken
again. Sigh. Tip is to use dconf-editor, see
previous post Ah nope, this time it was the
vnc-server entry in the firewall that was disabled again. Time
to clear that pesky needinfo in Red Hat Bugzilla 1499280.
Oh no, I selected French as my primary language and now my keyboard is
all in French!
Backup and Sync from Google
I hate this process that uses tons of CPU and memory. Right now it's
the largest process on my system besides kernel_task.
Credit Impot Recherche
Tuesday, March 5, 2019
Meeting about CIR with Johnny Lam.
Stefan Assman started asking me about the Flight Recorder, and wanted
to use it, but obviously would prefer something more professionnally
packaged. Probably time to study how to package this for various
operating systems a little bit more seriously.
Spec file for make-it-quick
There is an error when running
[INSTALL] check_drand48.c in /usr/lib64
March Madness?
Monday, March 4, 2019
Investigated the issue with Muse, my machine with a GeForce 580 that
stopped showing any graphics after the update to Fedora 29. Did not
find anything obvious in any of the logs.
Checked that I have the NFS problem for virtlab server too.
Christine had a doctor appointment in the morning. We are starting to
understand what happened. Problem is that the exam she had today may
restart the whole thing. Not cool.
Marching into March
Friday, March 1, 2019
All my computers are "busy" again, and that's a good sign. I'm slowly
recovering from the ongoing tiredness caused by Christine's ailments
(being woken up several time every night breaks you down
quickly). Coincidentally, I had my first full night that I can recall
since at least FOSDEM.
QEMU build failure
I thought I had done a git bisect run make, but instead I had just
run make manually. So instead of running the bisect all night,
it stopped after the first build. Re-started it.
Documentation
Documentation work. The current RHEL8 virtual devices section has:
The following types of passthrough devices are supported:
- VFIO device assignment
- USB, PCI, and SCSI passthrough
- SR-IOV
- NPIV
- GPUs and vGPUs
I find this wording quite dry, and tried to explain in one short
sentence what each of these were. Problem
System upgrades
Systems upgrading to Fedora 29. I would also like to spend the time to
install RHEL8 on two of my machines, including my primary test
machines. Not sure I will have the time, but Karen wanted me to run
some SMT tests, and that big machine is the best candidate for that
testing.
Muse no longer has graphics. Old GeForce 580. Filed Red Hat Bugzilla 1684548.
{{
Learned today that SMT is disabled by default in the guest unless you
specify a topology. That makes sense from a scheduling point of view,
but I'm concerned about mitigation code like the following:
static void __init
spectre_v2_user_select_mitigation(enum spectre_v2_mitigation_cmd v2_cmd)
{
enum spectre_v2_user_mitigation mode = SPECTRE_V2_USER_NONE;
bool smt_possible = IS_ENABLED(CONFIG_SMP);
enum spectre_v2_user_cmd cmd;
if (!boot_cpu_has(X86_FEATURE_IBPB) && !boot_cpu_has(X86_FEATURE_STIBP))
return;
if (cpu_smt_control == CPU_SMT_FORCE_DISABLED ||
cpu_smt_control == CPU_SMT_NOT_SUPPORTED)
smt_possible = false;
RHEL8 Documentation
Still working on the wording for the types of devices
Network disk access issue
Can't access the "Systems" directory on Turbo for some reason. Grrr.
{section "Fedora guest install"
A clean install of F29 with {tt "virt-install"} goes straight to the
emergency shell:
virt-install --vcpus 4 --name f29-turbo --memory 2048 --disk size=20 --network type=direct,source=enp5s0,model=virtio --location Fedora-Workstation-Live-x86_64-29-1.2.iso
I suspect the problem is with --location vs. --cdrom.
virt-install --vcpus 4 --name f29-turbo --memory 2048 --disk size=20 --network type=direct,source=enp5s0,model=virtio --cdrom Fedora-Workstation-Live-x86_64-29-1.2.iso
Tried my first French installation, filed my first localization bug,
Red Hat Bugzilla 1684639.
And February is gone already!
Thursday, February 28, 2019
Still churning, still very tired because of Christine's ongoing pain
issues.
Conference on microarchitectures
Watched
an interesting conference on microarchitectures and how
optimizations can be exploited in a variety of ways.
Recommended watch if you are interested in security. A bit frightening too.
QEMU build failure on macOS
Bisecting QEMU kconfig branch to look for the build break on macOS.
Meetings
Another set of internal meetings. First time I'm in a meeting with Jon
Masters. He's a funny guy, which you can judge by him asking questions
all the time
Systems upgrade
Started the upgrade of my various machines to Fedora 29.
Hatari and Alpha-Waves
During a late meeting, started investigating why the colors were
completely off for the second half of the screen when running Alpha
Waves in 2-players mode. It turns out it's relatively simple, there
was an error in the code that computes the "end of scan line" because
it did not take overclocking into account. So the bug appeared when
running the emulated ST at 16MHz or 32MHz. That will teach me.
Submitted pull request
and notified Thomas Huth.
Sometimes, I need to remind myself that I can debug or code
stuff. I've been doing to much non-code work lately
Also received "Replay" book by Tristan Donovan. I ordererd it because
of a comment I saw on one of the Alpha Waves videos on YouTube, that
said Alpha Waves was mentioned in it. It's actually mentioned twice,
but really in passing. There is just a small quote from Frederick
Raynal. In a 500 pages book, that's the "Mostly harmless" treatment
More meetings than usual
Wednesday, February 27, 2019
Some meetings were quite late (US-bound), and I'm already overly tired, so my
attention span was just not there.
Not much that I can put on this blog...
Systems update
Time to update my test systems to follow up on a request that Karen
made about testing SMT configuration.
QEMU kconfig branch
Checked with Paolo if
github was the right place to look for his kconfig branch.
He said it was, and confirmed that he does not want make config
targets. "The documentation explains why. :)" RTFM, Christophe. Will
check.
Hatari and Alpha-Waves
Installed Hatari, an Atari ST emulator, with the intent to check how
well Alpha Waves behaved on it. It's impressive! Running at 4x the
CPU speed (32MHz) also makes the game perfectly smooth. It was a
blast. Had to hack my own program in order to disable the copy
protection. Long time I had not read 68K assembly language, nor
patched a binary using Emacs' hexl-mode.
Then I tried two-player mode, and ran into an Hatari bug, where it
does not correctly display the colors at the bottom of the screen.
The code that deal with color palette changes is quite smart,
actually, counting CPU cycles (and taking into account overclocking)
in order to reproduce what an actual Atari ST would display. Only it
does not work in the case of Alpha Waves, because apparently there is
some hypothesis being made on how many colors can be changed on a
single line, and when they are changed.
Alpha Waves changed all 16 colors in the same scanline, using the 68K
movem instruction. It did that in an interrupt handler (hey, that
was a machine running always in supervisor mode, no MMU!). Changing
all 16 colors in the middle of a line seems to confuse the code in
Spec512_EndScanLine that sees no leftover colors to update, when
there are.
Here is the update of the palette at the top (line 0). You can see
that it updates all 16 color palette registers (look for idx=0..idx=15).
spec store col line 0 cyc=148 col=652 idx=0 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8240 col=652 video_cyc_w=592 line_cyc_w=148 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 1 HorPos 148
spec store col line 0 cyc=152 col=276 idx=1 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8242 col=276 video_cyc_w=596 line_cyc_w=149 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 2 HorPos 148
spec store col line 0 cyc=156 col=731 idx=2 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8244 col=731 video_cyc_w=600 line_cyc_w=150 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 3 HorPos 148
spec store col line 0 cyc=160 col=110 idx=3 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8246 col=110 video_cyc_w=604 line_cyc_w=151 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 4 HorPos 152
spec store col line 0 cyc=164 col=752 idx=4 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8248 col=752 video_cyc_w=608 line_cyc_w=152 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 5 HorPos 152
spec store col line 0 cyc=168 col=652 idx=5 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff824a col=652 video_cyc_w=612 line_cyc_w=153 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 6 HorPos 152
spec store col line 0 cyc=172 col=641 idx=6 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff824c col=641 video_cyc_w=616 line_cyc_w=154 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 7 HorPos 152
spec store col line 0 cyc=176 col=540 idx=7 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff824e col=540 video_cyc_w=620 line_cyc_w=155 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 8 HorPos 156
spec store col line 0 cyc=180 col=064 idx=8 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8250 col=64 video_cyc_w=624 line_cyc_w=156 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 9 HorPos 156
spec store col line 0 cyc=184 col=732 idx=9 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8252 col=732 video_cyc_w=628 line_cyc_w=157 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 10 HorPos 156
spec store col line 0 cyc=188 col=770 idx=10 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8254 col=770 video_cyc_w=632 line_cyc_w=158 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 11 HorPos 156
spec store col line 0 cyc=192 col=525 idx=11 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8256 col=525 video_cyc_w=636 line_cyc_w=159 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 12 HorPos 160
spec store col line 0 cyc=196 col=137 idx=12 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff8258 col=137 video_cyc_w=640 line_cyc_w=160 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 13 HorPos 160
spec store col line 0 cyc=200 col=414 idx=13 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff825a col=414 video_cyc_w=644 line_cyc_w=161 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 14 HorPos 160
spec store col line 0 cyc=204 col=541 idx=14 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff825c col=541 video_cyc_w=648 line_cyc_w=162 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
DDD: Scanline 0 nCyclePalettes 15 HorPos 160
spec store col line 0 cyc=208 col=551 idx=15 video_cyc=584 584@0 pc=1d030 instr_cyc=8
write col addr=ff825e col=551 video_cyc_w=652 line_cyc_w=163 @ nHBL=0/video_hbl_w=0 pc=1d030 instr_cyc=8
The same happen line 133 with the second palette:
spec store col line 133 cyc=468 col=115 idx=0 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8240 col=115 video_cyc_w=272136 line_cyc_w=470 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 1 HorPos 468
spec store col line 133 cyc=472 col=067 idx=1 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8242 col=67 video_cyc_w=272140 line_cyc_w=471 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 2 HorPos 472
spec store col line 133 cyc=476 col=722 idx=2 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8244 col=722 video_cyc_w=272144 line_cyc_w=472 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 3 HorPos 472
spec store col line 133 cyc=480 col=101 idx=3 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8246 col=101 video_cyc_w=272148 line_cyc_w=473 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 4 HorPos 472
spec store col line 133 cyc=484 col=047 idx=4 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8248 col=47 video_cyc_w=272152 line_cyc_w=474 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 5 HorPos 472
spec store col line 133 cyc=488 col=437 idx=5 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff824a col=437 video_cyc_w=272156 line_cyc_w=475 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 6 HorPos 476
spec store col line 133 cyc=492 col=305 idx=6 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff824c col=305 video_cyc_w=272160 line_cyc_w=476 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 7 HorPos 476
spec store col line 133 cyc=496 col=416 idx=7 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff824e col=416 video_cyc_w=272164 line_cyc_w=477 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 8 HorPos 476
spec store col line 133 cyc=500 col=137 idx=8 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8250 col=137 video_cyc_w=272168 line_cyc_w=478 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 9 HorPos 476
spec store col line 133 cyc=504 col=754 idx=9 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8252 col=754 video_cyc_w=272172 line_cyc_w=479 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 10 HorPos 480
spec store col line 133 cyc=508 col=067 idx=10 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8254 col=67 video_cyc_w=272176 line_cyc_w=480 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 11 HorPos 480
spec store col line 133 cyc=512 col=747 idx=11 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8256 col=747 video_cyc_w=272180 line_cyc_w=481 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 12 HorPos 480
spec store col line 133 cyc=516 col=625 idx=12 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff8258 col=625 video_cyc_w=272184 line_cyc_w=482 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 13 HorPos 480
spec store col line 133 cyc=520 col=365 idx=13 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff825a col=365 video_cyc_w=272188 line_cyc_w=483 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 14 HorPos 484
spec store col line 133 cyc=524 col=754 idx=14 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff825c col=754 video_cyc_w=272192 line_cyc_w=484 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
DDD: Scanline 133 nCyclePalettes 15 HorPos 484
spec store col line 133 cyc=528 col=026 idx=15 video_cyc=272128 1872@133 pc=1cffc instr_cyc=8
write col addr=ff825e col=26 video_cyc_w=272196 line_cyc_w=485 @ nHBL=133/video_hbl_w=133 pc=1cffc instr_cyc=8
Each color on the Atari ST is coded on 12 bits, 4 for red, green and
blue. These were the times So here, we wrote colors as follows:
115 067 722 101 047 437 305 416 137 754 067 747 625 365 754 and 026.
Things go wrong when reconstructing the image for rendering:
Is SPEC512
pDrawFunction=0x101de9f20
ConvertLowRes_640x32Bit_Spec
upd spec cyc 148 0 652 << START OF FIRST PALETTE
upd spec cyc 152 1 276
upd spec cyc 156 2 731
upd spec cyc 160 3 110
upd spec cyc 164 4 752
upd spec cyc 168 5 652
upd spec cyc 172 6 641
upd spec cyc 176 7 540
upd spec cyc 180 8 64
upd spec cyc 184 9 732
upd spec cyc 188 a 770
upd spec cyc 192 b 525
upd spec cyc 196 c 137
upd spec cyc 200 d 414
upd spec cyc 204 e 541
upd spec cyc 208 f 551 << END OF FIRST PALETTE
upd spec cyc 468 0 115 << START OF SECOND PALETTE
upd spec cyc 472 1 67
upd spec cyc 476 2 722
upd spec cyc 480 3 101
upd spec cyc 484 4 47
upd spec cyc 488 5 437
upd spec cyc 492 6 305
upd spec cyc 496 7 416
upd spec cyc 500 8 137
upd spec cyc 504 9 754 << WHY STOP AT 9?
upd spec cyc 464 0 115 << RESTARTING AT 0?
upd spec cyc 468 1 67
upd spec cyc 472 2 722
upd spec cyc 476 3 101
upd spec cyc 480 4 47
upd spec cyc 484 5 437
upd spec cyc 488 6 305
upd spec cyc 492 7 416
upd spec cyc 496 8 137
upd spec cyc 500 9 754
upd spec cyc 504 a 67 << WHY STOP AT A?
upd spec cyc 0 0 0 << WHER DOES THIS COME FROM?
upd spec cyc 0 0 0
upd spec cyc 0 0 0
upd spec cyc 0 0 0
upd spec cyc 0 0 0
So the bug is in the playback portion, which only updates up to some
register and then stops.