New firmware update

Some final analysis of the ripping problems below. I’ve focused on these, as there’s not much I can do or say about the hangs, crashes & reboots, and also, in my book, these FLAC errors would get a higher severity on the bug list, since they are invisible to the users (who assume, from the large friendly letters on the Star’s display, that everything is hunky-dory) but are audible when they play these tracks. At least the other issues are immediately apparent.

So, first issue: the zeroes, let’s call them white-outs, in the encoded tracks. Audio analysis looks like this:


Top track is the one with zeroes, middle track is the correct one after re-ripping, bottom one is the difference between these two. Zooming on on the problem area:

Looks to me like a bug of the buffer underrun type, i.e. a process is reading a number of bytes from its input buffer without adequately checking that these bytes are actually available (e.g. because the process writing to it hasn’t produced the data yet), ending up reading zeroes.

Second issue: errors in the encoded track. Audio analysis is a bit more complicated, since these FLAC streams are invalid. If I correct them, then properly align them, it looks like this:


Again, top track contains the errors, middle track is the correct one after re-ripping, bottom one is the difference between these two. Zooming in:

Mind you, in this case the flatline part in the top track is actually garbled data that I had to manually repair for the FLAC file to load properly.

Looks to me like a bug of the buffer overflow/overwrite type, i.e. a process is writing a number of bytes to an output buffer (could be a circular buffer) without adequately checking whether there’s room for the data (e.g. because the process reading from it hasn’t consumed the data yet), ending up overwriting data.

But enough of the free black-box analysis. Let’s hear what Naim support have to say about this.

4 Likes

R&D are still keen to hear from anyone whose Uniti or Network Player is getting screen freezes or random re-boots. If so, the Beta team are keen to hear from you; contact beta@naimaudio.com. Thanks.

Agreed that they do matter. Just that I haven’t had any since I started doing only one thing at the same time (mostly ripping, as you can infer, but also some playing and some metadata editing, just not concurrently) on my Star. If and when I finally do get access to the Beta programme, I’ll be sure to hammer at it from multiple angles simultaneously. :grin:

Great analysis, thanks! Hopefully somebody at Naim knows how to manage this. What I do not understand is: how can it happen that the rips with the errors are not recognized as faulty? The ripping software is supposed to make a bit perfectness test before writing to disk, isn’t it?

Supposed to … like last time :slight_smile: Is it written somewhere that it does?

My ND555 using the latest firmware is only now showing a large white musical note on the screen instead of album cover. First issue since latest update about 1 month ago.
Will send along to Naim

Well it goes to reason that it will do an error check and it does do it in most failures and report them. But the nature of a bug is that the software stops doing what it should :man_shrugging:

It was a bit of a joke, I am sure nbpf will understand :slight_smile:

2 Likes

Well, at https://www.naimaudio.com/product/uniti-star they write “Create bit-perfect copies of your CDs, save the data to a USB-connected storage device or an SD-card and then play back the music through your Uniti Star.

It’s a sneaky one. Of course one would understand from this that the bit-perfectness is actually confirmed, though strictly speaking it doesn’t say so. I would think/expect/hope that it does, but like Kryptos says, the bugs are where the software stops doing what it should. And if gjvoosten’s hypothesis is correct (and it makes sense), then we are way outside of the realm of defined behavior after buffer overruns. Certainly, there should be a final check after everything is on disk, to confirm.

Oh dear think my sense of humor is at an all time low as we went into hard lockdown again tonight.

You would have to remember the little exchange between nbpf and I that we had a while back about “expecting” certain behavior, which in itself already was based on an even earlier one. Can’t be expected!

I got my grocery delivery in today, full lockdown here starting Wednesday. Didn’t make it to the hairdresser :frowning:

1 Like

Time to get that grunge thing going… again!

Last time I grew a beard and moustache during lockdown and it stayed. Gotta come up with something creative for this one haha!

Sure, I have argued that the server software was immature when the Uniti Core was launched and, as it seems, it has not improved significantly since then. The hope is that the ripping errors are a consequence of the freeze/reboot events and that solving the latter will prevent faulty rips to be treated as if they were bit-perfect copies. The fact that @gjvoosten was finally able to make proper rips is at least a good sign.

What kind of time scale is that? Are we talking milliseconds of dropout or seconds?

It’s about a second of audible silence.

I’m not sure the ripping errors are caused by crashes, hangs or reboots, as many of these ripping errors were at times when the Star was otherwise functioning normally (or appeared to).

Still waiting for some news from Naim support or the Beta team; haven’t heard anything from either of them (other than an automatically assigned ticket number on Friday)…

I’ve flagged up your very detailed posts to our Tech Support team, to help them get back to you with as much info as possible. Do you have your ticket number handy, for reference?

3 Likes

“Your Ticket Number is 98642”

2 Likes

Of course no one knows for certain but if the ripping errors occur even when the Star is operating normally (that is, without freeze and reboot events) this means that the ripping software is quite seriously flawed.

If the ripping errors are triggered by freeze/reboor events, the ripping software is also flawed, of course. But this would be somehow less surprising and it would probably be easier to correct the misbehavior.