Bug 1724086 - systemd eats all memory after FC29->FC30 upgrade.
Summary: systemd eats all memory after FC29->FC30 upgrade.
Keywords:
Status: CLOSED DUPLICATE of bug 1705641
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 30
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-06-26 08:38 UTC by Paweł Sikora
Modified: 2019-08-05 21:06 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-05 21:06:22 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
htop screenshot (108.84 KB, image/png)
2019-06-26 08:39 UTC, Paweł Sikora
no flags Details

Description Paweł Sikora 2019-06-26 08:38:57 UTC
i've upgraded server from fc29 to fc30 yesterday and it's unusable now. system(d) processes eats all memory. any ideas?

Comment 1 Paweł Sikora 2019-06-26 08:39:34 UTC
Created attachment 1584702 [details]
htop screenshot

Comment 2 Paweł Sikora 2019-06-26 11:01:21 UTC
this server uses NIS user auth and afaics each ssh login attempt triggers huge memory allocations inside libtirpc.

/usr/src/debug/libtirpc-1.1.4-2.rc2.fc30.1.x86_64/src/clnt_dg.c  

(gdb) p/x dtbsize
$5 = 0x3ffffff8        (1'073'741'816 decimal)

173│                 fd_allocsz = dtbsize * sizeof (int);
174│                 dg_fd_locks = (int *) mem_alloc(fd_allocsz);              <==== huge alloc #1

183│                 cv_allocsz = dtbsize * sizeof (cond_t);
184│                 dg_cv = (cond_t *) mem_alloc(cv_allocsz);                 <==== huge alloc #2


195│                         for (i = 0; i < dtbsize; i++)
196├>                                cond_init(&dg_cv[i], 0, (void *) 0);
197│                 }
198│         }



(gdb) bt
#0  0x00007f48a58fdf3f in pthread_cond_init@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f48a4eb5d06 in clnt_dg_create (fd=fd@entry=5, svcaddr=svcaddr@entry=0x7ffd5f190ac0, program=program@entry=100000, version=version@entry=4, sendsz=sendsz@entry
=0, recvsz=recvsz@entry=0) at clnt_dg.c:196
#2  0x00007f48a4eb6082 in clnt_tli_create (fd=5, fd@entry=-1, nconf=nconf@entry=0x55b9d8903750, svcaddr=svcaddr@entry=0x7ffd5f190ac0, prog=prog@entry=100000, vers=ve
rs@entry=4, sendsz=sendsz@entry=0, recvsz=0) at clnt_generic.c:373
#3  0x00007f48a4ebd0a3 in getclnthandle (host=host@entry=0x55b9d894b860 "10.0.2.121", nconf=nconf@entry=0x55b9d8903750, targaddr=targaddr@entry=0x7ffd5f190bc0) at rpcb_clnt.c:
396
#4  0x00007f48a4ebdc7e in __rpcb_findaddr_timed (program=program@entry=100004, version=version@entry=2, nconf=nconf@entry=0x55b9d8903750, host=host@entry=0x55b9d894b860 "10.0.
2.121", clpp=clpp@entry=0x7ffd5f190c70, tp=0x7f48a4edc040 <tottimeout>, tp@entry=0x0) at rpcb_clnt.c:888
#5  0x00007f48a4eb6255 in clnt_tp_create_timed (hostname=hostname@entry=0x55b9d894b860 "10.0.2.121", prog=<optimized out>, prog@entry=100004, vers=<optimized out>, vers@en
try=2, nconf=0x55b9d8903750, tp=tp@entry=0x0) at clnt_generic.c:278
#6  0x00007f48a4eb6409 in clnt_create_timed (hostname=0x55b9d894b860 "10.0.2.121", prog=100004, vers=2, netclass=<optimized out>, tp=0x0) at clnt_generic.c:200
#7  0x00007f48a4ee6f5b in ?? () from /lib64/libnsl.so.2
#8  0x00007f48a4ee768b in ?? () from /lib64/libnsl.so.2
#9  0x00007f48a4ee7a75 in ?? () from /lib64/libnsl.so.2
#10 0x00007f48a4ee7c4d in ?? () from /lib64/libnsl.so.2
#11 0x00007f48a4ee855c in yp_match () from /lib64/libnsl.so.2
#12 0x00007f48a4f5041f in _nss_nis_getpwuid_r () from /lib64/libnss_nis.so.2
#13 0x00007f48a6086d43 in getpwuid_r@@GLIBC_2.2.5 () from /lib64/libc.so.6
#14 0x00007f48a608649b in getpwuid () from /lib64/libc.so.6
#15 0x00007f48a5df43ff in get_user_creds (username=username@entry=0x7ffd5f1912d0, uid=uid@entry=0x7ffd5f191288, gid=gid@entry=0x7ffd5f19128c, home=home@entry=0x7ffd5f1912a0, shell=shell@entry=0x7ffd5f1912a8, flags=flags@entry=USER_CREDS_CLEAN) at ../src/basic/user-util.c:192
#16 0x000055b9d762a5a0 in get_fixed_user (shell=0x7ffd5f1912a8, home=0x7ffd5f1912a0, gid=0x7ffd5f19128c, uid=0x7ffd5f191288, user=<synthetic pointer>, c=0x55b9d8a2
cde0) at ../src/core/execute.c:945
#17 exec_child.constprop.0 (unit=unit@entry=0x55b9d8a2c910, command=command@entry=0x55b9d8a06c50, context=context@entry=0x55b9d8a2cde0, params=params@entry=0x7ffd5f191600, runti
me=runtime@entry=0x0, dcreds=dcreds@entry=0x55b9d8a2d218, socket_fd=<optimized out>, named_iofds=<optimized out>, fds=<optimized out>, n_socket_fds=<optimized out>, n_storage_
fds=<optimized out>, files_env=<optimized out>, user_lookup_fd=<optimized out>, exit_status=<optimized out>) at ../src/core/execute.c:3016
#18 0x000055b9d76afb85 in exec_spawn (unit=<optimized out>, command=0x55b9d8a06c50, context=0x55b9d8a2cde0, params=0x7ffd5f191600, runtime=0x0, dcreds=0x55b9d8a2d2
18, ret=0x7ffd5f1915f0) at ../src/core/execute.c:3749
#19 0x000055b9d7681204 in service_spawn (s=<optimized out>, c=<optimized out>, timeout=<optimized out>, flags=<optimized out>, _pid=<optimized out>) at ../src/core/s
ervice.c:1556
#20 0x000055b9d7683fff in service_enter_start (s=s@entry=0x55b9d8a2c910) at ../src/core/service.c:2061
#21 0x000055b9d7684440 in service_enter_start_pre (s=0x55b9d8a2c910) at ../src/core/service.c:2127
#22 service_start (u=0x55b9d8a2c910) at ../src/core/service.c:2375
#23 0x000055b9d76aa390 in unit_start (u=0x55b9d8a2c910) at ../src/core/unit.h:582
#24 job_perform_on_unit (j=0x7ffd5f191828) at ../src/core/job.c:635
#25 0x000055b9d768ad0a in job_run_and_invalidate (j=<optimized out>) at ../src/core/job.c:702
#26 manager_dispatch_run_queue (source=<optimized out>, userdata=<optimized out>) at ../src/core/manager.c:2143
#27 manager_dispatch_run_queue (source=<optimized out>, userdata=0x55b9d876a950) at ../src/core/manager.c:2132
#28 0x00007f48a5d90a52 in source_dispatch (s=s@entry=0x55b9d876b1f0) at ../src/libsystemd/sd-event/sd-event.c:2859
#29 0x00007f48a5d90ebd in sd_event_dispatch (e=0x55b9d876af40) at ../src/libsystemd/sd-event/sd-event.c:3234
#30 0x00007f48a5d91048 in sd_event_run (e=0x55b9d876af40, timeout=18446744073709551615) at ../src/libsystemd/sd-event/sd-event.c:3291
#31 0x000055b9d76cc698 in manager_loop (m=<optimized out>) at ../src/core/manager.c:2908
#32 invoke_main_loop (m=<optimized out>, ret_reexecute=<optimized out>, ret_retval=<optimized out>, ret_shutdown_verb=<optimized out>, ret_fds=<optimized out>, ret_switch_
root_dir=<optimized out>, ret_switch_root_init=<optimized out>, ret_error_message=<optimized out>) at ../src/core/main.c:1837
#33 0x000055b9d762149d in main (argc=5, argv=0x7ffd5f191db8) at ../src/core/main.c:2622

Comment 3 Zbigniew Jędrzejewski-Szmek 2019-08-05 21:06:22 UTC

*** This bug has been marked as a duplicate of bug 1705641 ***


Note You need to log in before you can comment on or make changes to this bug.