Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Apr 2024 15:39:49 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 278347] pmcstat: crash on image processing
Message-ID:  <bug-278347-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D278347

            Bug ID: 278347
           Summary: pmcstat: crash on image processing
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: mizhka@FreeBSD.org

Just got crash on CURRENT trying to run:

pmcstat -T -S instructions -w 1=20

under load of poudriere (48 cores, 256GiB RAM, 40 processes) with stack tra=
ce:

(lldb) bt
* thread #1, name =3D 'pmcstat', stop reason =3D signal SIGSEGV
    frame #0: 0x000026a91d2f2e04
pmcstat`pmcstat_string_lookup_hash(s=3D0x0000000000000000) at
libpmcstat_string.c:120:14
    frame #1: 0x000026a91d2f13e0
pmcstat`pmcstat_image_from_path(internedpath=3D<unavailable>,
iskernelmodule=3D<unavailable>, args=3D<unavailable>, plugins=3D0x000026a91=
d2f5d60)
at libpmcstat_image.c:513:9
  * frame #2: 0x000026a91d2f2585
pmcstat`pmcstat_process_elf_exec(pp=3D0x000047dc37957dd0,
image=3D0x000047dc35c0fdc0, baseaddr=3D51616457125888, dynaddr=3D<unavailab=
le>,
args=3D0x000026a91d2f6490, plugins=3D0x000026a91d2f5d60,
pmcstat_stats=3D0x000026a91d2f6610) at libpmcstat_process.c:117:15
    frame #3: 0x000026a91d2f26dc pmcstat`pmcstat_process_exec(pp=3D<unavail=
able>,
path=3D<unavailable>, baseaddr=3D<unavailable>, dynaddr=3D<unavailable>,
args=3D<unavailable>, plugins=3D<unavailable>, pmcstat_stats=3D<no summary
available>) at libpmcstat_process.c:167:3 [artificial]
    frame #4: 0x000026a91d2f1a0c
pmcstat`pmcstat_analyze_log(args=3D0x000026a91d2f6490,
plugins=3D0x000026a91d2f5d60, pmcstat_stats=3D0x000026a91d2f6610,
pmcstat_kernproc=3D0x000047dc35c31030, pmcstat_mergepmc=3D1,
pmcstat_npmcs=3D0x000026a91d2f6644, ps_samples_period=3D0x000026a91d2f6648)=
 at
libpmcstat_logging.c:352:4
    frame #5: 0x000026a91d2eb48a pmcstat`pmcstat_process_log at
pmcstat_log.c:532:11
    frame #6: 0x000026a91d2eaddf pmcstat`main(argc=3D<unavailable>,
argv=3D<unavailable>) at pmcstat.c:1364:16
    frame #7: 0x000026b14534b87a libc.so.7`__libc_start1(argc=3D6,
argv=3D0x000026b13df19800, env=3D0x000026b13df19838, cleanup=3D<unavailable=
>,
mainX=3D(pmcstat`main at pmcstat.c:440)) at libc_start1.c:157:7
    frame #8: 0x000026a91d2e858d pmcstat`_start at crt1_s.S:83

Interesting frame #3 contains image with NULL dynlinkerpath:

(lldb) print *image
(pmcstat_image) {
  pi_next =3D {
    le_next =3D NULL
    le_prev =3D 0x000047dc36a82ec0
  }
  pi_execpath =3D 0x000047dc36b14ba0
  pi_samplename =3D 0xa5a5a5a5a5a5a5a5
  pi_fullpath =3D 0x000047dc36b14ba0
  pi_name =3D 0x000047dc36b370a0
  pi_type =3D PMCSTAT_IMAGE_ELF64
  pi_start =3D 27360
  pi_end =3D 113441
  pi_entry =3D 0
  pi_vaddr =3D 24576
  pi_isdynamic =3D 1
  pi_iskernelmodule =3D 0
  pi_dynlinkerpath =3D 0x0000000000000000
  pi_symbols =3D 0x000047dc35ce1180
  pi_symcount =3D 23
  pi_addr2line =3D NULL
  pi_gmlist =3D {
    lh_first =3D 0xa5a5a5a5a5a5a5a5
  }
}

It seems reproducible (at least 3 consecutive tries).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-278347-227>