The second race of Zwift Racing League 2023/24 Round 1 happened Tuesday, September 19. It was the first points race of the season, and also the longest, taking place on Makuri 40 with 5 sprint intermediates.
My DIRT Kraken team was well-positioned for a good result on this route, and I took care in the days leading up to the race to make sure my legs were ready for a max effort. Because every point counts!
The race began at 9:30am, so I ate breakfast well beforehand. As we got closer to launch I chewed some caffeine gum (300mg of go-go juice!) and applied PR lotion to the legs before kitting up and heading to the warmup.
Like last week, I ended up with a messy warmup because I had many things to set up: Zwift/Trainer/Discord/Video/Sauce for Zwift… it was all a bit of a mess. I got it all taken care of, though. Or at least, I thought I did.
With 40 seconds to go I realized I was still in my virtual Zwift Insider kit, in the pens! ZRL is a team race, and it’s important that each team’s members wear the same kit so you can see who you’re competing against.
I swapped kits at the last moment, but into the pink DIRT kit instead of the orange, because I couldn’t find the orange one in my list of jerseys. Thanks to the way Zwift caches other riders’ kits, everyone would probably be seeing me in my ZI kit for the race. But I couldn’t help that now. The race was on!
We knew the start of this race was going to be tough: a 1.5km climb right out of the gate, punctuated by the first sprint segment of the season. 394W (4.75W/kg) for 3 minutes was almost a 6-week power PB for me, but it was enough to keep me nicely positioned in the front pack.
I didn’t contest the Village Sprint, but sat in the wheels and spun my legs out to prepare for the next sprint.
Country Sprint Smash
The Country Sprint is a fast sprint in this direction because you enter it after descending from Village Onsen. This was a sprint I planned to target if the legs felt good, because the downhill lead-in would work to my advantage as a slightly heavier rider in this group (83kg).
My legs felt good, I had my aero powerup in hand, and quick access to trigger it via Zwift Play. Now it was just a matter of timing. As we neared the start line, I positioned myself near the back of the pack so I could sprint through it, then revved up the power to start moving through the pack, which was already traveling at 60+kph.
Approaching the front of the group, I triggered my aero and went all-in with power, flying off the front of the pack just as we passed the start line. A bit early, perhaps, but I was committed now!
A few seconds later I glanced up at the screen and saw my rider was in the wind, leading out the sprint in 1st place! That motivated me to keep pushing, and I gave it all I had to the line, crossing first about 25 seconds after starting my initial effort.
The sprint leaderboard popped up – teammate Dave Husbo had grabbed 1st for FTS, and I was 3rd FTS and 1st across the line (FAL). Hurray!
Buoyed by my sprint win, I returned to sitting in the wheels, knowing the next two sprints were both great chances to grab additional points for my team. (Both the Alley Sprint Reverse and Country Sprint Reverse are slightly downhill.)
Then, disaster struck.
As my distance counter ticked over 12.7km in Neokyo, my Zwift visuals suddenly locked up… then disappeared. Zwift had crashed on PC. My race was over.
Here’s when it happened:
Reverting to DS Duties
There was nothing I could do to get back into the race – unlike outdoor racing there are no team cars or free laps in Zwift.
My race was done, but I could still sign on and watch the race, acting as DS on Discord to help my teammates ride smart and maximize our result. So I started up Zwift again, clicked to join a RoboPacer in Makuri Islands, then looked up my teammate Diogo in the Companion app so I could click to fan view him.
From Zwift crash to fan-viewing took just over 2 minutes. Inside I was still seething over the crash… I’d finally earned some intermediate points, and now they were gone! But I knew it wouldn’t do any good to voice my frustrations on Discord mid-race, and I knew I could help just a little by playing DS. So I opened browser windows and starting directing as best I could while turning over the pedals.
We had 4 riders left in the front group, with our 5th (Wojtek) in a chase pack.
On the Alley Sprint, Grant grabbed 3rd and Husbo 6th for FAL, and I let everyone know that a fair number of riders got gapped off the back. “400 meters to the start of the Castle Sprint!” I called out.
Kraken did well on this fourth sprint, with Daz grabbing 2nd, Husbo 4th, and Grant 10th FAL. Daz also grabbed 4th, Husbo 5th, and Diogo 10th in FTS. A nice points haul. Then it was time to recover as the group made its way out of Neokyo and down the Pain Cavern descent to Urukazi.
Sprint 5 and Finish
The final sprint came after a longish climb where even more riders got dropped – but the Kraken held on! Husbo grabbed 7th FAL and 6th FTS. He was really cleaning up on the sprint points.
As the race progressed I was looking at ZwiftPower Live to see how many riders each team had left in the front pack, as this is often a good measure of overall team performance in ZRL. Kraken still had 4, and so did SZ (a strong team and last week’s winner) and team CONED. Most teams only had 3.
Our four in front held on up the long climb through the slot canyon, then gave it all they had to the finish line. Husbo was our best finisher in 6th, with Daz in 9th, Grant 15th, Diogo 28, and Wojtek 65th.
A strong performance, but where would we place overall, with my points removed from the total?
Watch the Video
Watch the first 12.7km of my race… then watch me play DS:
We finished 3rd in points for this race, but I couldn’t help asking: would we have placed higher if I hadn’t ZNFd? (Or maybe I should call it “Zwiftusinteruptis”, “Zenied”, “Zwiftwrecked”,”Z-railed”,”Zamboozled”, an “Electronical”… there’s a whole Facebook thread on this topic now.)
Computing what could have happened is an impossible task, of course. Would I have grabbed other sprint points? Where would I have finished? How would the points I grabbed affect the points for other teams… and my own teammates?
We finished 46 points behind 2nd place, 50 points out of 1st. So no small margin. If I had earned no further sprint points, but finished in the back of the front group with Diogo (27th) I would have earned 37 total points.
Throw in just 10 more sprint points (very possible on the Alley and Castle Sprints I missed) and we’re in 2nd place. 15 and we might have won it all.
See that spilled milk? I’m crying over it. Well done, though, to Foudre and SZ for their strong performances!
(If you’re curious: in ZRL, when a rider ZNFs like I did today, any intermediate points they earned are effectively removed from the race. As you can see in the points chart above, I keep those points, but they also aren’t included in the team total.)
Two takeaways for me this week. One is a bummer, but the other makes me happy!
First: looks like it’s back to racing on AppleTV for me. I’ve never had AppleTV crash in a Zwift session, and I can’t run the risk that another Zwift crash screws my team over again. This is a bit of a bummer, since Zwift on PC is what I’m used to, delivers better graphics, etc.
Second: apparently I can compete on some level in this B1 division! I’m happy about that, and it makes me excited for future races.
Reporting Zwift Crashes
With all my internal contacts at Zwift, I’m able to report Zwift crashes and supply logs, etc to people who can actually fix bugs. Rest assured this week’s crash was reported in detail. Zwift is looking into it, but they haven’t gotten back to me with anything concrete yet.
Windows Event Viewer indicates an exception thrown by my NVIDIA driver, but this doesn’t necessarily mean the problem is NVIDIA’s. I’m running current drivers, and it’s possible (I would even say very probable) a Zwift graphics engine bug caused the driver to crash. Here are the three relevant events from Event Viewer, for all the curious nerds:
Application Error: Faulting application name: ZwiftApp.exe, version: 0.0.0.0, time stamp: 0x65011717 Faulting module name: nvoglv64.dll, version: 18.104.22.16823, time stamp: 0x6482678a Exception code: 0xc0000409 Fault offset: 0x0000000001941505 Faulting process id: 0x0x27CC Faulting application start time: 0x0x1D9EB12ADE4ABBC Faulting application path: C:\Program Files (x86)\Zwift\ZwiftApp.exe Faulting module path: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_675be35f1ba2315e\nvoglv64.dll Report Id: f4ce65bf-ca31-4847-b8b1-8471d2c3ac3f Faulting package full name: Faulting package-relative application ID: NVIDIA OpenGL Driver: Unable to recover from a kernel exception. The application must close. Error code: 3 (subcode 7) (pid=10188 tid=4704 zwiftapp.exe 64bit) Visit http://www.nvidia.com/page/support.html for more information. nvlddmkm: The description for Event ID 0 from source nvlddmkm cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. If the event originated on another computer, the display information had to be saved with the event. The following information was included with the event: \Device\0000008b Error occurred on GPUID: 100 The message resource is present but the message was not found in the message table
Corrupt FIT Files
Another bit of Zwift minutiae: when Zwift crashes, it typically corrupts your in-progress FIT file so it can’t be manually uploaded to Strava.
The fix is easy on PC: run that FIT file through fitfiletools.com‘s “Time Adjuster,” which will fix the corrupted timestamps. Upload that fixed file and you’re golden.
Questions and Comments
How did your Makuri 40 race go? Share below!