EC-CUBE / EC-CUBE/ec-cube

プラグインのインストールに失敗する問題

Open
#4,142 22 comments 3 reactions 0 assignees View on GitHub
bug:High
Dominant language
PHP
Stars
788
Forks
719
Avg merge
4d 4h
Merged PRs (30d)
39

Description

## 概要(Overview)

プラグインのインストール時に高負荷な状態が発生し、OOM Killerでhttpdのプロセスが殺される。そのため、プラグインのインストールが完了しない。

発生時のログは以下の通り。

```
/var/log/messages

Apr 17 09:57:43 kernel: Out of memory: Kill process 16845 (httpd) score 149 or sacrifice child
Apr 17 09:57:43 kernel: Killed process 16845 (httpd) total-vm:2333820kB, anon-rss:524704kB, file-rss:1400kB, shmem-rss:556kB
Apr 17 09:57:47 kernel: swap_info_get: Bad swap offset entry 0008007c
Apr 17 09:57:47 kernel: swap_info_get: Bad swap offset entry 0008007d
```

主に以下の2点で、高負荷となっている

- Composer APIによる依存関係の解決
- symfonyのDIコンテナキャッシュの削除と再生成

インストールに失敗した場合、インストール途中のプラグインファイルや、autoloaderのクラスマップ等が中途半端に残ってしまう。現状では復旧の手順が確立していない。

### 環境 (environment)
+ EC-CUBE: 4.0.x
+ PHP: 7.x.x
+ DB:
- PostgreSQL x.x.x
- MySQL x.x.x

## 関連情報 (Ref)

- #3990
- #4133, #4106
- BoltやMagentoでもComposerAPIを利用しているため、他のCMSも調査

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.