... to see if this is a bug in Hijack?
In another thread, I described this bug (more details below), but I wasn't sure if this is a bug in Hijack or if it was a bug in the player. This morning it happened and I noticed that Hijack's menu (press and hold to make Hijack appear) did not work when the bug happened. Although I know this is not conclusive proof of anything, in the past, if the player locked up, often Hijack would still respond. In this case, Hijack stopped responding, so that's a little more evidence.
Here are the details of the bug.
Conditions:
- Mk2 player with 2 drives.
- 2.0 beta 13 with Hijack 289 (I'm upgrading to 292 now by the way).
- Only in the car, not in the home dock.
- When starting the car.
- When "restore DC Car Visuals" is activated.
Behavior:
- Very intermittent. Has probably only happened three times in the last three weeks.
- Others have seen this bug as well, it's not just me.
- Player boots normally and goes into the player software.
- Song plays from the proper place from the last "shutdown".
- Info:Track mode is on the screen.
- Info:Track screen details are completely blank, as if it were an empty playlist. No song information, all numeric data reads null or zero.
- Top of screen says "Source:Player" and is stuck there, does not go away.
- Buttons and knob do not respond. Cannot change volume or anything.
- However, the song is still playing correctly just fine.
New behavior noticed today:
- Press-and-hold on the knob does not activate Hijack. Hijack is locked up.
- Turning off the car's ignition does not shut down the player. The player is not responding to the ignition-sense input.
- The only way to get the player fixed is to pull it out of the sled (LOUD POP- ouch).
But here's the most interesting thing:
- After putting the player back into the sled, not only does it pick up playing the song correctly again, but it does so FROM THE POINT I PULLED IT OUT OF THE SLED. So the code that's responsible for the emergency-write-to-flash-on-power-loss is still working.
Here's why I think Hijack might possibly be responsible:
- When the player boots correctly, say, in AC mode, and it boots to the info:Track screen, there is a brief moment while the info:Track screen is blank as described above. A split-second later, it fills with the track information.
- That also happens to be approximately the same instant that hijack attempts to execute the long-bottom-button-press to switch to DC visuals.
My uneducated non-empeg-programmer guess is that there is some sort of a race condition happening, with the player trying to grab a resource at the same time Hijack is. Perhaps something related to the input hardware, or the track "notify" information being spit out on the serial port. Something like that.
I will also concede that it still could be a bug in the default software, it's hard to tell since I haven't seen anyone report it who wasn't running Hijack with DC visuals.
Any ideas?