Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Need help on creating a UDF, returning "Unable to create a new Lua state"

I need to ask a question on creating UDF on aerospike. My configuration is as below:

  • M1 Macbook Pro
  • Docker using latest aerospike

My application is running this code:

AerospikeClient.RegisterUDF(nil, []byte({UDF_BODY}), {UDF_FILENAME}+".lua", aerospike.LUA)

and it keeps on producing this error:

Error registering UDF in aerospike.     common_error="Registration failed: compile_error\nFile: \nLine: 0\nMessage: Unable to create a new Lua state"

Does anybody have any idea on how to resolve this error?

I searched the forum and I don't think there is anybody that have encountered the same issue as me.

Thanks

like image 873
David Budiman Avatar asked Jan 20 '26 14:01

David Budiman


1 Answers

The error message itself comes from aerospike/aerospike-mod-lua/src/main/mod_lua.c#validate(), relayed by aerospike/aerospike-client-go/client.go#RegisterUDF()

Considering the filename is empty in the error message, it makes sense it triggers from the code, because lua_open() returns null, which has been seen before as a linking option issue.
In that page, lua_open() is a macro for luaL_newstate(), and this error could reflect the fact the M1 support for luajit is not yet fully completed.

The OP David Budiman confirms in the comments:

My teammates that are not using M1 macbook do not encounter this problem. I'll try to use another machine first

like image 163
VonC Avatar answered Jan 22 '26 04:01

VonC



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!