Harfbuzz error?

So i’m getting this error from time to time in my application, and i’m not really sure of how to fix it?
I’m targeting c++ on windows.

Does this occur immediately, or after running for a long time? Does it seem connected with anything related to TextField?

It happens just from time to time, not always.

I think it is related to reading or setting the text of a textfield, but I’m checking for null values before setting text, and it’s not catching anything.

Any clues to what steps I could take to prevent this? I really need to find out what causes this and how to prevent it. Is it caused by a bad value, or an issue with harfbuzz itself?

What versions of Lime and OpenFL are you using?

Hi.
I’m currently using the latest released versions : Haxe 3.4.2, Lime 4.0.3 , OpenFL 4.9.2, hxcpp 3.4.64 on Windows 10.

Hmm, there’s very little information to go on. If it’s a bug in Harfbuzz itself, the newer version we are using in the Lime dev repository may help, but if its incorrect usage of Harfbuzz, then I’m not immediately sure what to do to try and look into this further. What language are you using in the TextField? I wonder if it’s a UTF-8 issue

Hm, i see that. I i’m not a 100% sure but i think the problem comes from a value thats in a dynamic textfield thats constantly updating. If i’m not wrong, the text is just a numeric value, and its being fed into the application via udp, But i’m checking for bad values, null, NaN and all i can think of. And it doesnt catch anything.

Looking at the error, does it have anything to do with a null value?

Here’s the line the error points to:

Looks like Harfbuzz was trying to deallocate a variable, but part of that variable was already registered to another “owner.” Either that or the owner variable was invalid.

I was going to suggest some steps to debug that line, but it actually looks like the deallocation code has been completely revised. You may be able to solve this problem by updating Lime.

2 Likes

Great! Thank you for looking into this!
So i’ve updated my application to Lime 4.1.0 and OpenFL 5.0. I have to see how it goes as its kind of hard to reproduce the error, but there should be a chance this will fix the issue?

I saw there was a lot of Harfbuzz updates in the latest version of Lime?

Yep, we updated Harfbuzz from 0.9 something to 1.4.6, so it’s possible this resolves your instability issue. Please let me know how testing goes :slight_smile:

Perfect! Thank you so much!
Will let you know if it solved the issue :smile:

1 Like

Well seems there are still issues, but not the same problem as before?
Now i’m getting this error:

That’s this line:

The variable is declared here, and this is the only place it’s set to true. So either swap_buffers() is being called too often, or clear_output() isn’t being called often enough.

Not sure how you’d fix that, though.