Re: Bug#765070: openrc: [kfreebsd] segfault in loopsolver
found 765070 openrc/0.13.1-1
thanks
Hi,
Bug is still present in this version. I've attached a new backtrace
from running `rc-update -u`.
The bug is reproducible on kfreebsd-amd64 kernel versions 9.2 and 10.1
(jessie/sid), but not on 9.0 (wheezy). I can't think why that might be.
libkvm can be ruled out, because I recompiled without it (as it was not
being used anyway) and the crash still happens.
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: kfreebsd-amd64 (x86_64)
Kernel: kFreeBSD 10.1-0-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Starting program: /root/openrc-0.13.1/debian/openrc/sbin/rc-update -u
* Caching service dependencies ...
* Found a solvable dependency loop: checkfs.sh p> checkfs n> mountall.sh p> mountall u> hwclock.sh a> checkroot n> checkfs.sh.
Program received signal SIGSEGV, Segmentation fault.
0x00007fffffffdcdd in ?? ()
(gdb) bt full
#0 0x00007fffffffdcdd in ?? ()
No symbol table info available.
#1 0x0000000800a5335b in rc_deptree_solve_loop (unap_matrix=0x7fffffffde60,
service_id=4, svc_id2depinfo_bt=0x63d3c0, end_dep_num=26,
flags=(RCDTFLAGS_LOOPSOLVER | RCDTFLAGS_LOOPSOLVER_WARNINGS))
at librc-depend.c:1270
btree = 0x65f150
idid_to_break = 0x65f110
idid_count = 1
idid_to_break_count = 8
chain_strs = 0x65f6d0
chains = 0x65eeb0
deptypes = 0x65f680
minimal_cost = UNAPM_USE
chains_size = 65
chain_count = 1
printerr = 1 '\001'
printwarn = 1 '\001'
idid_counters = 0x65f180
idid_count2 = 0
depinfo_from = 0xf00000000
depinfo_to = 0xf00000027
#2 0x0000000800a5528f in __RC_rc_deptree_update (
flags=(RCDTFLAGS_LOOPSOLVER | RCDTFLAGS_LOOPSOLVER_WARNINGS))
at librc-depend.c:1806
dep_num = 26
dep_count = 26
unapm_type = UNAPM_MAX
loopsolver_counter = 0
loopfound = 0
unap_matrix = {0x63c4b0, 0x63c6c0, 0x63c8d0, 0x63cae0, 0x63ccf0,
0x63cf00}
service_id = 4
svc_id2depinfo_bt = 0x63d3c0
fp = 0x625ee0
deptree = 0x627f60
providers = 0x625ee0
depinfo = 0x0
depinfo_np = 0x80064d5d0
di = 0x633730
deptype = 0x0
dt_np = 0x401bb4
dt = 0x633780
provide = 0x80064c000
config = 0x625d30
types = 0x63b840
sorted = 0x63b920
visited = 0x63c000
s = 0x0
s2 = 0x0
s2_np = 0x0
s3 = 0x0
s4 = 0x0
line = 0x628000 "0\200b"
len = 8192
depend = 0x0
depends = 0x0
service = 0x628000 "0\200b"
type = 0x628008 "P\217b"
nosys = 0x1000004b1 <error: Cannot access memory at address 0x1000004b1>
onosys = 0x0
i = 5
k = 34366213566
retval = true
sys = 0x0
uts = {
sysname = "GNU/kFreeBSD\000\000\000\000\001\000\000\000\377\177\000\000\210Q\204\000\b\000\000",
nodename = "debian\000\000Q\246\244\000\b\000\000\000\377\377\377\377\000\000\000\000\340\336\377\377\377\177\000",
release = "10.1-0-amd64\000\000\000\000\020\337\377\377\377\177\000\000\000\337\377\377\377\177\000",
version = "#0 Sat, 20 Sep 2014 22:02:28 +0100\000\000\000\000\000\000\000\300d\000\b", '\000' <repeats 11 times>, "@\353\377\377\377\177\000\000\000\000\000\000\000\000\000\000P\220\305\000\b", '\000' <repeats 11 times>, "@\353\377\377\377\177", '\000' <repeats 18 times>, "\020\340\377\377\377\177\000\000g\024c\000\b\000\000\000\001\000\000\000\000\000\000\000\310Pb", '\000' <repeats 13 times>, "@\353\377\377\377\177", '\000' <repeats 18 times>, " \345\377\377\377\177\000\000g\024c\000\b\000\000\000\001", '\000' <repeats 15 times>...,
machine = "x86_64\000\000\000\000\000\000\000\000\000\000@)\027\001\b\000\000\000\301s\245\000\b\000\000"}
useneedafter_count = 64
#3 0x000000000040c60b in _rc_deptree_load (force=-1, regen=0x7fffffffe544)
at rc-depend.c:80
fd = -1
retval = 32767
serrno = 0
merrno = 2
t = 0
file = "\000\000\000\000\000\000\000\000\212\267b\000\b\000\000\000\200\342\377\377\377\177\000\000\304\060c\000\b\000\000\000\061\000so.0.1\271\b\346\000\b\000\000\000\001\000\000\000\000\000\000\000\212\267b\000\b\000\000\000\260\342\377\377\377\177\000\000X\236b\000\b\000\000\000\000l.so.2\000o.2\000\b\000\000\000\001\000\000\000\000\000\000\000\350\026<\001\b\000\000\000 \341\377\377\377\177\000\000\000\340;\001\b\000\000\000\070\317d\000\b\000\000\000\030\343\377\377\377\177\000\000\021\035@\000\000\000\000\000`Q\204\000\b\000\000\000\030\000\003\000\003\000\000\000\b\327;\001\b\000\000\000\006\000\000\000\000\000\000\000h\337\377\377\377\177\000\000\351\034@\000\000\000\000\000"...
st = {st_dev = 1180, st_ino = 0, st_mode = 36452, __pad_mode = 99,
st_nlink = 8, __pad_nlink = 0, st_uid = 77, st_gid = 61552,
st_rdev = 37, st_atim = {tv_sec = 47, tv_nsec = 34366219001},
st_mtim = {tv_sec = 0, tv_nsec = 34366345016}, st_ctim = {
tv_sec = 37, tv_nsec = 4201745}, st_size = 4294967296,
st_blocks = 12, st_blksize = 2880, st_flags = 0, st_gen = 6500548,
__unused1 = {140737488347776, 34377017521}}
ut = {actime = 140737488348596, modtime = 140737488348000}
fp = 0x20
#4 0x00000000004120d2 in rc_update (argc=2, argv=0x7fffffffeb48)
at rc-update.c:247
deptree = 0x8013bdc40 <initial>
runlevels = 0x1
runlevel = 0x7fffffffeb48
service = 0x0
p = 0x800632480 <_dl_fini> "UH\211\345AWAVAUATSH\203\354\070\307", <incomplete sequence \314>
action = 0
verbose = false
stack = false
all_runlevels = false
opt = 117
retval = 1
num_updated = 0
actfunc = 0x7fffffffeda7
ret = 1
#5 0x000000000040c105 in run_applets (argc=2, argv=0x7fffffffeb48)
at rc-applets.c:557
i = 6
#6 0x0000000000417dee in main (argc=2, argv=0x7fffffffeb48) at rc.c:789
bootlevel = 0x0
newlevel = 0x0
hotplugged_services = 0x0
stop_services = 0x0
start_services = 0x0
types_n = 0x0
types_nua = 0x0
deptree = 0x0
deporder = 0x0
tmplist = 0x801062d98
service = 0x1000c600000001
going_down = false
depoptions = 3
krunlevel = "\005\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000P\325d\000\b\000\000\000\276\315b\000\b\000\000\000\301S\200\030\225\263_\031\240\346\377\377\377\177\000\000`}\006\001\b\000\000\000\310M\a\001\b\000\000\000\260\347\377\377\377\177\000\000\302[\362\001\000\000\000\000\240\347\377\377\377\177\000\000\302\373b\000\b", '\000' <repeats 11 times>, "\210\333d\000\b\000\000\000`\317d\000\b\000\000\000TGb\000\b\000\000\000\000O\a\001\b\000\000\000\020Db\000\b\000\000\000\000\000\000\000\001\000\000\000\257\b\000\000\001\000\000\000\220\373b\000\b\000\000\000\210\333d\000\b\000\000\000@\350\377\377\377\177\000\000\340T\204\000\b\000\000\000\000\351\377\377\377\177\000\000"...
pidstr = "\370I\204\000\b\000\000\000\207", <incomplete sequence \360>
opt = 8
parallel = 255
regen = 0
nostop = false
(gdb)
Reply to: