[Bug 245767] ports-mgmt/pkg: 1.14.2 critical SQLITE error is ignored
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Apr 20 15:44:29 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245767
Bug ID: 245767
Summary: ports-mgmt/pkg: 1.14.2 critical SQLITE error is
ignored
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Ports Framework
Assignee: portmgr at FreeBSD.org
Reporter: sobomax at FreeBSD.org
CC: ports-bugs at FreeBSD.org
Created attachment 213606
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=213606&action=edit
Patch to fix the issue.
One of our build envs has run out of disk space, and we've noticed that error
is not raised by the pkg failure, resulting in quite a mess.
[2020-04-18T04:49:42.516Z] + rm /tmp/rrd_create.sh /tmp/rrd.conf
[2020-04-18T04:49:42.516Z] + rm -f /tmp/sh.qPrEwG
[2020-04-18T04:49:42.770Z] pkg-static: sqlite error while executing COMMIT
TRANSACTION
in file pkgdb.c:1292: database or disk is full
[2020-04-18T04:49:43.046Z] ===> Building package for ssp-5.3.20190821165853_3
[2020-04-18T04:50:30.208Z] ===> Cleaning for ssp-5.3.20190821165853_3
Further investigation shows the following call stack:
#0 0x000000000046f66f in run_transaction (sqlite=0x8017fc008, query=0x8ebb87
"COMMIT TRANSACTION", savepoint=0x0) at pkgdb.c:1298
#1 0x000000000046f732 in pkgdb_transaction_commit_sqlite (sqlite=0x8017fc008,
savepoint=0x0) at pkgdb.c:1320
#2 0x000000000047200c in pkgdb_register_finale (db=0x8010a66e0, retcode=0,
savepoint=0x0) at pkgdb.c:2383
#3 0x0000000000469d45 in pkg_add_port (db=0x8010a66e0, pkg=0x801079000,
input_path=0x7fffffffe7ef "/tmp/media/ssp_port/work/stage", reloc=0x0,
testing=false) at pkg_ports.c:1365
#4 0x00000000004167e6 in exec_register (argc=7, argv=0x7fffffffe428) at
register.c:195
#5 0x000000000041145c in main (argc=7, argv=0x7fffffffe428) at main.c:886
The culprit seems in the pkg_add_port(), the return value of
pkgdb_register_finale() is not checked, resulting in error condition being
essentially lost.
(gdb) up
#3 0x0000000000469d45 in pkg_add_port (db=0x8010a66e0, pkg=0x801079000,
input_path=0x7fffffffe7ef "/tmp/media/ssp_port/work/stage", reloc=0x0,
testing=false) at pkg_ports.c:1365
1365 pkgdb_register_finale(db, rc, NULL);
(gdb) l
1360 utstring_free(message);
1361 }
1362 }
1363
1364 cleanup:
1365 pkgdb_register_finale(db, rc, NULL);
1366
1367 return (rc);
1368 }
(gdb) print rc
$2 = 0
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-ports-bugs
mailing list