Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • U updater
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 35
    • Issues 35
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • TurrisTurris
  • updater
  • updater
  • Issues
  • #184
Closed
Open
Issue created Feb 07, 2017 by Ghost User@ghostContributor

Assertion failure if user list added multiple times

It's the version now in rc: 49.1.

Stack Traceback
===============
(2) Lua function '?' at line 64 of chunk '"logging"]'
	Local variables:
	 err = [string "backend"]:1246: assertion failed!  {msg:[string "backend"]:1246: assertion failed!, tp:error, reason:runtime (more...)}
	 err2string = Lua function '?' (defined at line 45 of chunk "logging"])
	 msg = string: "\
runtime: [string \"backend\"]:1246: assertion failed!"
	 (*temporary) = table: 0x10d97cb8  {msg:
runtime: [string "backend"]:1246: assertion failed!}
(3)  C function 'function: 0x10420908'
(4) upvalue C function 'error'
(5) Lua global 'required_pkgs' at line 53 of chunk '"updater"]'
	Local variables:
	 entrypoint = string: "internal:entry_lua"
	 tlc = table: 0x104100c8  {env:table: 0x10434590, level_check:function: 0x10520500, tp:context, sec_level:Full (more...)}
	 ep_uri = table: 0x105c3be0  {ok:function: 0x10509be8, tp:uri, cback:function: 0x10611ae8, callbacks:table: 0x105c3c80 (more...)}
	 ok = boolean: true
	 tls = string: "-- Do not edit this file. It is the entry point. Edit the user.lua file.\
\
local branch = \"\"\
local lists\
if uci then\
	-- If something is really broken, we could be unable to load the uci dynamic module. Try to do some recovery in such case and hope it works well the next time.\
	local cursor = uci.cursor()\
	branch = cursor:get(\"updater\", \"override\", \"branch\")\
	if branch then\
		WARN(\"Branch overriden to \" .. branch)\
		branch = branch .. \"/\"\
	else\
		branch = \"\"\
	end\
	lists = cursor:get(\"updater\", \"pkglists\", \"lists\")\
else\
	ERROR(\"UCI library is not available. Not processing user lists.\")\
end\
\
-- Guess what board this is.\
local base_model = \"\"\
if model then\
	if model:match(\"[Oo]mnia\") then\
		base_model = \"omnia/\"\
	elseif model:match(\"[Tt]urris\") then\
		base_model = \"turris/\"\
	end\
end\
\
local base_url\
if base_model then\
	base_url = \"https://api.turris.cz/updater-defs/\" .. turris_version .. \"/\" .. base_model .. branch\
end\
\
-- Reused options for remotely fetched scripts\
local script_options = {\
	security = \"Remote\",\
	ca = \"file:///etc/ssl/updater.pem\",\
	crl = \"file:///tmp/crl.pem\",\
	pubkey = {\
		\"file:///etc/updater/keys/release.pub\",\
		\"file:///etc/updater/keys/standby.pub\",\
		\"file:///etc/updater/keys/test.pub\" -- It is normal for this one to not be present in production systems\
	}\
}\
\
if base_url then\
	-- The distribution script. It contains the repository and bunch of basic packages. The URI is computed based on the branch and the guessed board\
	Script(\"base\",  base_url .. \"base.lua\", script_options)\
	-- Ask for a script specific for our serial. But ignore if it's not there (which is common).\
	if serial then\
		local script_options_ignore = {}\
		for n, v in pairs(script_options) do\
			script_options_ignore[n] = v\
		end\
		script_options_ignore.ignore = {\"missing\"}\
		-- First try just the revision\
		Script(\"revision-specific\", base_url .. \"revision/\" .. serial:sub(1, 8) .. \".lua\", script_options_ignore)\
		Script(\"serial-specific\", base_url .. \"serial/\" .. serial .. \".lua\", script_options_ignore)\
	end\
end\
\
-- Some provided by the user\
Script \"user-src\" \"file:///etc/updater/user.lua\" { security = \"Local\" }\
-- Some auto-generated by command line\
Script \"auto-src\" \"file:///etc/updater/auto.lua\" { security = \"Local\" }\
\
if uci and base_url then\
	-- Go through user lists and pull them in.\
	if type(lists) == \"string\" then\
		lists = {lists}\
	end\
	if type(lists) == \"table\" then\
		for _, l in ipairs(lists) do\
			-- TODO: Make restricted security work\
			Script(\"userlist-\" .. l, base_url .. \"userlists/\" .. l .. \".lua\", script_options)\
		end\
	end\
end\
"
	 err = [string "backend"]:1246: assertion failed!  {msg:[string "backend"]:1246: assertion failed!, tp:error, reason:runtime (more...)}
(6) Lua function '?' at line 61 of chunk '"updater"]'
	Local variables:
	 entrypoint = string: "internal:entry_lua"
Edited Nov 12, 2020 by Vojtech Myslivec
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking