macOS Ventura 13.5.1系统下PgAdmin启动报错求助
PgAdmin 4崩溃(EXC_BAD_ACCESS)及端口异常问题解决
问题详情
2020款MacBook Air(macOS Ventura 13.5.1),PostgreSQL稳定运行5-6天后,启动PgAdmin 4(7.5版本)时初始页面加载完成后崩溃。此前PgAdmin启动占用5432端口,现在报错后占用Python相关端口,且每次重新打开,占用端口数量递增。重装PostgreSQL、降级版本均无效,崩溃报错信息如下:
Process: pgAdmin 4 [93305] Path: /Library/PostgreSQL/14/pgAdmin 4.app/Contents/MacOS/pgAdmin 4 Identifier: org.pgadmin.pgadmin4 Version: 7.5 (4280.88) Code Type: X86-64 (Translated) Parent Process: launchd [1] User ID: 501 Date/Time: 2023-08-27 21:48:47.5482 +0600 OS Version: macOS 13.5.1 (22G90) Report Version: 12 Anonymous UUID: 4FEA9D37-5E06-083D-88D1-DB6B8D0A0641 Sleep/Wake UUID: 5EFD95F9-F7DC-4363-A95D-7AD7F46D7297 Time Awake Since Boot: 67000 seconds Time Since Wake: 42 seconds System Integrity Protection: enabled Crashed Thread: 0 CrBrowserMain Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000020 Exception Codes: 0x0000000000000001, 0x0000000000000020 Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [93305] VM Region Info: 0x20 is not in any region. Bytes before following region: 140722710691808 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> mapped file 7ffc8f2ec000-7ffc9e440000 [241.3M] r-x/r-x SM=COW ...t_id=894eb2a5 Kernel Triage: VM - (arg = 0x0) pmap_enter retried due to resource shortage VM - (arg = 0x0) pmap_enter retried due to resource shortage VM - (arg = 0x0) pmap_enter retried due to resource shortage VM - (arg = 0x0) pmap_enter retried due to resource shortage VM - (arg = 0x0) pmap_enter retried due to resource shortage
解决步骤
1. 彻底清理PgAdmin配置与缓存
PgAdmin的配置文件损坏或缓存泄漏是常见崩溃原因,按以下步骤清理:
- 关闭所有PgAdmin和PostgreSQL相关进程(可通过活动监视器结束)
- 删除用户目录下的PgAdmin配置文件夹:
rm -rf ~/Library/Application\ Support/pgAdmin - 删除缓存文件夹:
rm -rf ~/Library/Caches/org.pgadmin.pgadmin4 - 删除偏好设置文件:
rm ~/Library/Preferences/org.pgadmin.pgadmin4.plist
2. 清理残留的异常进程与端口占用
每次重启PgAdmin新增端口,说明有残留进程未正常终止:
- 查找与PgAdmin关联的Python进程:
ps aux | grep pgAdmin - 杀掉查找到的进程(替换
<PID>为实际进程ID):kill -9 <PID> - 检查当前端口占用情况,确认异常端口并清理:
lsof -i -P | grep -i "listen"
3. 重置PgAdmin运行环境
手动指定端口启动,避开可能冲突的端口:
- 进入PgAdmin安装目录:
cd /Library/PostgreSQL/14/pgAdmin\ 4.app/Contents/MacOS - 手动启动并指定新端口(比如5433):
./pgAdmin\ 4 --server-port=5433 - 同时确认PostgreSQL服务状态,确保5432端口被正常占用:
pg_ctl status -D /Library/PostgreSQL/14/data
4. 排查系统资源问题
报错日志显示pmap_enter retried due to resource shortage,说明系统内存或资源不足:
- 打开活动监视器,查看内存占用情况,关闭不必要的后台进程
- 运行磁盘工具的“急救”功能,修复磁盘权限与系统完整性
- 若长期内存紧张,可尝试增加虚拟内存或关闭系统中占用资源的后台服务
关键报错说明
崩溃线程为CrBrowserMain,说明PgAdmin基于Chromium的前端组件出现内存访问错误(EXC_BAD_ACCESS);内核日志的资源短缺提示,大概率是进程泄漏或系统资源不足引发的连锁问题。
内容的提问来源于stack exchange,提问作者Nurzhan Saqtaganov
相关产品推荐
相关产品推荐

