Lua entry thread aborted: runtime error bad argument #2 to 'tonumber' (number expected, got string)

1.4k views Asked by At

Im using lapis framework and torch, sometimes the website showing internal server error when trying to load page, and the error from lapis is:

[error] 3726#81246: *19 lua entry thread aborted: runtime error: ...s/MyUser/torch/install/share/lua/5.1/xlua/init.lua:227: bad argument #2 to 'tonumber' (number expected, got string)
stack traceback:
coroutine 0:
    [C]: in function 'require'
    .../MyUser/torch/install/share/lua/5.1/lapis/init.lua:15: in function 'serve'
    content_by_lua(nginx.conf.compiled:22):2: in function <content_by_lua(nginx.conf.compiled:22):1>, client: 127.0.0.1, server: , request: "GET /recommend HTTP/1.1", host: "localhost:9999", referrer: "http://localhost:9999/home"

After looking arround, the problem is gone when i remark this part:

local lapis = require("lapis")
local config = require("lapis.config").get()
local inspect = require("inspect")
local json = require('cjson')
local kb_recommend = require("recommender.knowledge")
-- local cb_recommend = require("recommender.content") <---- remark this

local mysql = require "luasql.mysql"
local env = mysql.mysql()
local conn = env:connect("restoran", "root", "")

Thats link to file recommender/content.lua:

package.path = package.path .. ";../?.lua"
local predictor = require("Content Based.predictor")
return predictor

This file returning the class where i wrote my torch code. I suspect the problem is coming from the 'require' part, but dont know why? I've been looking on google for solution, and nothing found. This my current version:

Lua 5.1.5
Torch7 
Lapis 1.6.0
nginx/1.13.9
openresty/1.13.6.1

anyone can help? im very newbie in Lua environment.

1

There are 1 answers

2
Lua Tutoring On

tonumber is a Lua function for an example like this: tonumber("10") or tonumber(10)

I'm sorry I couldn't be of more help.

If you could show us the line where the error is located, I can most likely determine a fix for you.