Networking issue in VMwareDaily

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 warningsDaily

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 RechercheDaily

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?Daily

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 MarchDaily

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!Daily

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 usualDaily

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.