안녕하세요,


>> 이것은 공식 Docker 이미지 "Postgres : 13.8".로 재현 할 수 있습니다.

>> 복제 단계 :

>> 먼저 데비안 패키지 설치`postgresql-13-postgis-3`

> HM- 문제를 트리거하는 데 필요한 부분이 필요합니까? 당신의 복제품은
> 참조 postgis 어디서나 ....

> 나는 이것을 성공하지 않고 내부 나 외부의 성공없이 이것을 재생산하려고 노력했다.
> 컨테이너. 나는 Docker가 아니라 Podman과 함께 컨테이너를 시작했습니다.

이것은 내 실수였습니다. OS의 입력 (버그보고 양식)은 버그 보고서에 포함되지 않았습니다.

“Linux/Arm64/V8”기계에서만 발생한다고 언급했습니다 (2 개의 별도 시스템에서 확인).

PG 로그는이 라인을 인쇄합니다.`llvmjit은 "+neon,+fp-armv8,+crypto,+crc" 기능을 갖춘 CPU "Generic"을 감지했습니다.

이 문제는 생산에서 발생했으며, 내 측면에 신뢰할 수있는 테스트 케이스를 갖기위한 최소 요구 사항을 파악하기 위해 많은 시행 착오를 수행했습니다.

요구 사항 중 하나는 shared_buffers 설정이 있고, 다른 하나는 Postgis-Package가 설치되어 있습니다 (자체 자체는 Postgres에 추가 JIT 헤더를 추가합니다.


>> 핵심 덤프도 생성되었지만 어떤 용도로도 사용되지는 않습니다.
>> JIT 컴파일

> 'jit_debugging_support'를 켜면 코어 덤프가 더 합리적으로 보이나요?

그렇습니다. 실제로, 나는이 옵션을 알지 못했습니다. 힌트에 감사드립니다.

이것은 코어 덤프의 스택 트레이스입니다.

```

/usr/lib/postgresql/13/bin/postgres의 기호 읽기 ...

/usr/lib/debug/.사설 토토-id/f5/3be18fe7523ce412811658eb9496cc45d5fd99.debug ...의 읽기 기호

경고 : 파일 지원 매핑 노트 처리 중에 파일 /dev/shm/postgresql.450058653을 열 수 없습니다

경고 : 파일 지원 매핑 노트 처리 중에 파일 /dev /Zero (삭제)를 열 수 없습니다

경고 : 파일 지원 매핑 노트 처리 중에 파일 /SYSV005CE028 (삭제)을 열 수 없습니다

[New LWP 43]

[libthread_db enabled를 사용한 스레드 디버깅]

호스트 libthread_db 라이브러리 사용 "/lib/aarch64-linux-gnu/libthread_db.so.1".

코어는`postgres : postgres postgres [local] 업데이트 '에 의해 생성되었습니다.

신호 SIGSEGV, 세그먼트 화 결함으로 종료 된 프로그램.

#0 0x000100158B72E0 in ?? ()

#1 0x0000FFFF158B705C in evalexpr_1_0 ()

#2 0x0000FFFFF158B705C in evalexpr_1_0 ()

#3 0x0000AAAACAF74738 in EXECEVALEXPRSWITCHCONTEXT (ISNULL = 0XFFFFD1E2B3A7, econText = 0XAAAB06289308, state = 0xaaab06289e20)

    at ./사설 토토/../src/include/executor/executor.h:322

#4 execproject (projinfo = 0xaaab06289e18) at ./사설 토토/../src/include/executor/executor.h:356

#5 execscan (node ​​= <최적화 Out>, accessmtd = 0xaaaAcaf95d90 , recheckmtd = 0xaaaacaf95e20 )

    at ./사설 토토/../src/backend/executor/execscan.c:238

#6 0x0000AAAACAF94764 in ExecProcNode (node ​​= 0xaaab062891f8) at ./사설 토토/../src/include/executor/executor.h:248

#7 execnestloop (pstate = 0xaaab06289058) at ./사설 토토/../src/backend/executor/nodenestloop.c:109

#8 0x0000AAAACAF93348 in ExecProcNode (node ​​= 0xaaab06289058) at ./사설 토토/../src/include/executor/executor.h:248

#9 execmodifyTable (pstate = 0xaaab06288c38) at ./사설 토토/../src/backend/executor/nodemodifytable.c:2178

#10 0x000000AAAAACAF6B06C in EXECPROCNODE (node ​​= 0xaaab06288c38) at ./사설 토토/../src/include/executor/executor.h:248

#11 ExecutePlan (execute_once = <최적화 out>, dest = 0xaaab062a9ff8, Direction = <최적화 out>, 숫자 tuples = 0,

    SendTuples = <최적화 Out>, Operation = CMD_UPDATE, USE_PARALLEL_MODE = <최적화 OUT>, PLANSTATE = 0XAAAB06288C38,

    ESTATE = 0XAAAB0628838) ./사설 토토/../Src/Backend/Executor/Execmain.c:1632

#12 Standard_ExecutorRun (QueryDesc = 0xaaab0629fbe8, direction = <최적화 out>, count = 0, execute_once = <최적화 out>)

    at ./사설 토토/../src/backend/executor/execmain.c:350

#13 0x000000AAACB0E01E0 ProcessQuery (plan = 0xaaab062aa8e8,

    sourcetext = 0xaaab061c34c8 "t2 set t2 set int_id = t1.int_id 여기서 t2.text_id = t1.text_id;", params = 0x0, queryenv = 0x0,.

    dest = 0xaaab062a9ff8, qc = 0xffffd1e2b8c8) at ./사설 토토/../src/backend/tcop/pquery.c:160

#14 0x000000AAACB0E0E2C PORTALRUNMULTI (portal = portal@eptor = 0xaaaab06225e88, istoplevel = istoplevel@enther = true,

    setholdsnapshot = setholdsnapshot@enterm = false, dest = dest = rett@eptry = 0xaaab062a9ff8, altdest = altdest@enther = 0xaaab062a9ff8,

    qc = qc@eptry = 0xffffd1e2b8c8) at ./사설 토토/../src/backend/tcop/pquery.c:1271

#15 0x0000AAACB0E1190 포털 런 (Portal = portal@Entry = 0xaaab066225e88, count = count@enth@enth@enth@enther = 9223372036854775807,

    istoplevel = istoplevel@entry = true, run_once = run_once@enther = true, dest = dest@eptry = 0xaaab062a9ff8,

    altdest = altdest = altdest@enterm = 0xaaaab062a9ff8, qc = qc@enterm = 0xffffd1e2b8c8) at ./사설 토토/../src/backend/tcop/pquery.c:788

-형성 더 많은 경우 Q to Nut, C, 페이징없이 계속하려면

#16 0x0000AAACB0DBE84 in EXEC_SIMPLE_QUERY (

    query_string = query_string@eptry = 0xaaab061c34c8 "t2 set t2 set int_id = t1.int_id 여기서 t2.text_id = t1.text_id;")

    at ./사설 토토/../src/backend/tcop/postgres.c:1238

#17 0x000000AAACB0DCB74 Postgresmain (argc = <최적화 된 Out>, argv = argv@enther = 0xaaab061edf20, dbname = ,

    username = ) at ./사설 토토/../src/backend/tcop/postgres.c:4347

#18 0x0000AAACB05C138 BackendRun (port = 0xaaab061e68e0) at ./사설 토토/../src/backend/postmaster.c:4550

#19 BackendStartup (port = 0xaaab061e68e0) at ./사설 토토/../src/backend/postmaster/postmaster.c:4234

#20 ServerLoop () at ./사설 토토/../src/backend/postmaster/postmaster.c:1739

#21 0x000000AAACB05D114에서 우편 마스터 메인 (argc = argc@enther = 3, argv = argv@eptry = 0xaaab061bcfd0)

    at ./사설 토토/../src/backend/postmaster/postmaster.c:1412

#22 0x0000AAAACADC29B8의 메인 (ARGC = 3, ARGV = 0XAAAB061BCFD0) at ./사설 토토/../src/backend/main.c:210

```

가장 좋은 안부와 함께

Marcel Spitz