[sqlsmith] crash in RestoreLibraryState during low-memory testing

From: Andreas Seltenreich <seltenreich(at)gmx(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: [sqlsmith] crash in RestoreLibraryState during low-memory testing
Date: 2017-10-02 21:34:54
Message-ID: 87d165terl.fsf@ansel.ydns.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

doing low-memory testing with REL_10_STABLE at 1f19550a87 also produced
a couple of parallel worker core dumps with the backtrace below.
Although most of the backtrace is inside the dynamic linker, it looks
like it was passed a pointer to gone-away shared memory.

regards,
Andreas

Core was generated by `postgres: bgworker: parallel worker for PID 24326 '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 strlen () at ../sysdeps/x86_64/strlen.S:106
#1 0x00007f5184852a36 in fillin_rpath (rpath=<optimized out>, rpath(at)entry=0x55b692f0d360 "/home/smith/postgres/inst/master/lib", result=result(at)entry=0x55b692f1b380, sep=sep(at)entry=0x7f5184868060 ":", check_trusted=check_trusted(at)entry=0, what=what(at)entry=0x7f51848683bd "RUNPATH", where=where(at)entry=0x55b692f2d2f0 "/home/smith/postgres/inst/master/lib/pgcrypto.so", l=0x55b692f2d330) at dl-load.c:444
#2 0x00007f5184852daf in decompose_rpath (sps=sps(at)entry=0x55b692f2d6d8, rpath=<optimized out>, l=l(at)entry=0x55b692f2d330, what=what(at)entry=0x7f51848683bd "RUNPATH") at dl-load.c:618
#3 0x00007f5184852ef7 in cache_rpath (l=l(at)entry=0x55b692f2d330, sp=sp(at)entry=0x55b692f2d6d8, tag=tag(at)entry=29, what=what(at)entry=0x7f51848683bd "RUNPATH") at dl-load.c:652
#4 0x00007f5184853c62 in cache_rpath (what=0x7f51848683bd "RUNPATH", tag=29, sp=0x55b692f2d6d8, l=0x55b692f2d330) at dl-load.c:2307
#5 _dl_map_object (loader=0x55b692f2d330, name=0x7f517f300cc3 "libz.so.1", type=2, trace_mode=0, mode=<optimized out>, nsid=<optimized out>) at dl-load.c:2314
#6 0x00007f5184857e70 in openaux (a=a(at)entry=0x7ffd4f686130) at dl-deps.c:63
#7 0x00007f518485a4f4 in _dl_catch_error (objname=objname(at)entry=0x7ffd4f686128, errstring=errstring(at)entry=0x7ffd4f686120, mallocedp=mallocedp(at)entry=0x7ffd4f68611f, operate=operate(at)entry=0x7f5184857e40 <openaux>, args=args(at)entry=0x7ffd4f686130) at dl-error.c:187
#8 0x00007f51848580df in _dl_map_object_deps (map=map(at)entry=0x55b692f2d330, preloads=preloads(at)entry=0x0, npreloads=npreloads(at)entry=0, trace_mode=trace_mode(at)entry=0, open_mode=open_mode(at)entry=-2147483648) at dl-deps.c:254
#9 0x00007f518485ea02 in dl_open_worker (a=a(at)entry=0x7ffd4f6863c0) at dl-open.c:280
#10 0x00007f518485a4f4 in _dl_catch_error (objname=objname(at)entry=0x7ffd4f6863b0, errstring=errstring(at)entry=0x7ffd4f6863b8, mallocedp=mallocedp(at)entry=0x7ffd4f6863af, operate=operate(at)entry=0x7f518485e8f0 <dl_open_worker>, args=args(at)entry=0x7ffd4f6863c0) at dl-error.c:187
#11 0x00007f518485e489 in _dl_open (file=0x55b692f2d2b0 "/home/smith/postgres/inst/master/lib/pgcrypto.so", mode=-2147483390, caller_dlopen=0x55b691cb4c7e <internal_load_library+286>, nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0x55b692eef880) at dl-open.c:660
#12 0x00007f5184020ee9 in dlopen_doit (a=a(at)entry=0x7ffd4f6865f0) at dlopen.c:66
#13 0x00007f518485a4f4 in _dl_catch_error (objname=0x55b692eef6d0, errstring=0x55b692eef6d8, mallocedp=0x55b692eef6c8, operate=0x7f5184020e90 <dlopen_doit>, args=0x7ffd4f6865f0) at dl-error.c:187
#14 0x00007f5184021521 in _dlerror_run (operate=operate(at)entry=0x7f5184020e90 <dlopen_doit>, args=args(at)entry=0x7ffd4f6865f0) at dlerror.c:163
#15 0x00007f5184020f82 in __dlopen (file=<optimized out>, mode=mode(at)entry=258) at dlopen.c:87
#16 0x000055b691cb4c7e in internal_load_library (libname=libname(at)entry=0x7f51848be7f8 <error: Cannot access memory at address 0x7f51848be7f8>) at dfmgr.c:231
#17 0x000055b691cb5928 in RestoreLibraryState (start_address=0x7f51848be7f8 <error: Cannot access memory at address 0x7f51848be7f8>) at dfmgr.c:754
#18 0x000055b6919459d9 in ParallelWorkerMain (main_arg=<optimized out>) at parallel.c:1030
#19 0x000055b691b23746 in StartBackgroundWorker () at bgworker.c:835
#20 0x000055b691b2faf5 in do_start_bgworker (rw=0x55b692f0e050) at postmaster.c:5680
#21 maybe_start_bgworkers () at postmaster.c:5884
#22 0x000055b691b305c8 in sigusr1_handler (postgres_signal_arg=<optimized out>) at postmaster.c:5073
#23 <signal handler called>
#24 0x00007f5183a5f273 in __select_nocancel () at ../sysdeps/unix/syscall-template.S:84
#25 0x000055b6918b8c0b in ServerLoop () at postmaster.c:1717
#26 0x000055b691b31c65 in PostmasterMain (argc=3, argv=0x55b692eea5f0) at postmaster.c:1361
#27 0x000055b6918bac4d in main (argc=3, argv=0x55b692eea5f0) at main.c:228

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2017-10-02 21:44:16 Re: Binary search in fmgr_isbuiltin() is a bottleneck.
Previous Message Tom Lane 2017-10-02 21:34:42 Re: [sqlsmith] stuck spinlock in pg_stat_get_wal_receiver after OOM