【问题标题】:Lua entry thread aborted: runtime error bad argument #2 to 'tonumber' (number expected, got string)Lua 入口线程中止:运行时错误错误参数 #2 到“tonumber”(预期数字,得到字符串)
【发布时间】:2018-12-16 06:22:10
【问题描述】:

我正在使用 lapis 框架和 Torch,有时网站在尝试加载页面时显示内部服务器错误,来自 lapis 的错误是:

[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"

环顾四周,当我评论这部分时,问题就消失了:

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", "")

这是文件推荐/content.lua 的链接:

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

此文件返回我编写 torch 代码的类。我怀疑问题出在“要求”部分,但不知道为什么?我一直在谷歌上寻找解决方案,但没有找到。这是我当前的版本:

Lua 5.1.5
Torch7 
Lapis 1.6.0
nginx/1.13.9
openresty/1.13.6.1

有人可以帮忙吗?我是 Lua 环境中的新手。

【问题讨论】:

    标签: nginx lua torch openresty lapis


    【解决方案1】:

    tonumber 是一个 Lua 函数,例如:tonumber("10")tonumber(10)

    很抱歉,我无法提供更多帮助。

    如果你能告诉我们错误所在的行,我很可能会为你确定一个修复方法。

    【讨论】:

    • 可能导致错误的tonumber函数位于lua核心文件“/User/MyUser/torch/install/share/lua/5.1/xlua/init.lua: 227",但我不知道是谁调用了这个函数
    • 号码227 是那一行,你能编辑你的帖子并给我们看那一行的代码吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 2017-04-08
    • 1970-01-01
    • 2023-01-04
    相关资源
    最近更新 更多