neko icon indicating copy to clipboard operation
neko copied to clipboard

Uncaught exception - others.c(440) : Field conflict between null and doctype

Open mockey opened this issue 4 years ago • 7 comments

I have an old web application that runs on neko (mod_neko with apache to be precise), where a user recently reported the following error after a page request: Uncaught exception - others.c(440) : Field conflict between null and doctype Any idea what this could be about?

mockey avatar Oct 28 '20 11:10 mockey

probably multithread access to the field 'doctype'

ConstNW avatar Oct 28 '20 13:10 ConstNW

What would cause this and how could that be avoided?

mockey avatar Oct 29 '20 16:10 mockey

Use thread locks or mutex

ConstNW avatar Oct 30 '20 21:10 ConstNW

I don't use any threads deliberately in my code. Is this done by mod_neko?

mockey avatar Nov 09 '20 16:11 mockey

This looks like a bug in neko vm. Here's the place where the error is thrown: https://github.com/HaxeFoundation/neko/blob/f1846a1cf4e2e2913a8357c623c3156fdcbdfccc/vm/others.c#L435-L441

RealyUniqueName avatar Nov 09 '20 17:11 RealyUniqueName

Yes, it's a code where error message composed. That function val_id is called to get object's field id in object table by name ('doctype') or insert if it does not exists yet. In that case field id in object table exists but name check was failed and that why the error occur. Usually that's happens when threads have concurrent access to the same field.

ConstNW avatar Nov 09 '20 22:11 ConstNW

As I said, I don't use threads in this app. I only use the usual neko web stuff.

mockey avatar Nov 10 '20 13:11 mockey