'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



Solution 1:[1]

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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1