Closed Bug 672636 Opened 13 years ago Closed 13 years ago

Jetpack should create fewer compartments for its built-in modules

Categories

(Add-on SDK Graveyard :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 672443

People

(Reporter: ehsan.akhgari, Unassigned)

References

Details

(Keywords: memory-leak, Whiteboard: [MemShrink])

This is one of the problems which causes bug 672443 to happen.  Jetpack needs a better solution than one sandbox per built-in module.  I'm filing this bug to track the work in getting us to a better stage regarding this, and the appropriate people for the discussion to come are CCed on the bug I believe.
So, uh, downloading the XPI file from this add-on and then installing it in a blank profile creates 5 system principal compartment (plus the one pre-existing compartment: https://builder.addons.mozilla.org/addon/1010707/latest/

The one that starts things off:
│  ├──10,536,568 B (14.77%) -- compartment([System Principal], 0x5811800)
│  │  ├───4,931,584 B (06.91%) -- gc-heap
│  │  │   ├──2,674,624 B (03.75%) -- objects
│  │  │   ├──1,859,720 B (02.61%) -- shapes
│  │  │   ├────333,816 B (00.47%) -- arena-unused
│  │  │   ├─────33,168 B (00.05%) -- strings
│  │  │   ├─────19,264 B (00.03%) -- arena-headers
│  │  │   ├─────10,776 B (00.02%) -- arena-padding
│  │  │   └────────216 B (00.00%) -- xml
│  │  ├───2,228,224 B (03.12%) -- mjit-code
│  │  ├───1,830,616 B (02.57%) -- scripts
│  │  ├─────615,408 B (00.86%) -- object-slots
│  │  ├─────563,272 B (00.79%) -- mjit-data
│  │  ├─────135,360 B (00.19%) -- tjit-data
│  │  │     ├───74,000 B (00.10%) -- allocators-reserve
│  │  │     └───61,360 B (00.09%) -- allocators-main
│  │  ├─────131,072 B (00.18%) -- tjit-code
│  │  └─────101,032 B (00.14%) -- string-chars



And the five newly created ones:
│  ├─────247,024 B (00.35%) -- compartment([System Principal], 0xcd3e800)
│  │     ├──110,592 B (00.15%) -- gc-heap
│  │     │  ├───42,528 B (00.06%) -- arena-unused
│  │     │  ├───38,712 B (00.05%) -- objects
│  │     │  ├───25,360 B (00.04%) -- shapes
│  │     │  ├────3,184 B (00.00%) -- strings
│  │     │  ├──────432 B (00.00%) -- arena-headers
│  │     │  ├──────376 B (00.00%) -- arena-padding
│  │     │  └────────0 B (00.00%) -- xml
│  │     ├───65,536 B (00.09%) -- mjit-code
│  │     ├───31,040 B (00.04%) -- string-chars
│  │     ├───24,176 B (00.03%) -- object-slots
│  │     ├───15,680 B (00.02%) -- scripts
│  │     ├────────0 B (00.00%) -- mjit-data
│  │     ├────────0 B (00.00%) -- tjit-code
│  │     └────────0 B (00.00%) -- tjit-data
│  │              ├──0 B (00.00%) -- allocators-main
│  │              └──0 B (00.00%) -- allocators-reserve

│  ├──────55,272 B (00.08%) -- compartment([System Principal], 0xdf12800)
│  │      ├──49,152 B (00.07%) -- gc-heap
│  │      │  ├──34,752 B (00.05%) -- arena-unused
│  │      │  ├───8,136 B (00.01%) -- objects
│  │      │  ├───5,840 B (00.01%) -- shapes
│  │      │  ├─────216 B (00.00%) -- arena-padding
│  │      │  ├─────192 B (00.00%) -- arena-headers
│  │      │  ├──────16 B (00.00%) -- strings
│  │      │  └───────0 B (00.00%) -- xml
│  │      ├───2,996 B (00.00%) -- scripts
│  │      ├───2,944 B (00.00%) -- object-slots
│  │      ├─────180 B (00.00%) -- string-chars
│  │      ├───────0 B (00.00%) -- mjit-code
│  │      ├───────0 B (00.00%) -- mjit-data
│  │      ├───────0 B (00.00%) -- tjit-code
│  │      └───────0 B (00.00%) -- tjit-data
│  │              ├──0 B (00.00%) -- allocators-main
│  │              └──0 B (00.00%) -- allocators-reserve

│  ├──────54,911 B (00.08%) -- compartment([System Principal], 0xfdd9800)
│  │      ├──49,152 B (00.07%) -- gc-heap
│  │      │  ├──34,144 B (00.05%) -- arena-unused
│  │      │  ├───8,304 B (00.01%) -- objects
│  │      │  ├───6,280 B (00.01%) -- shapes
│  │      │  ├─────216 B (00.00%) -- arena-padding
│  │      │  ├─────192 B (00.00%) -- arena-headers
│  │      │  ├──────16 B (00.00%) -- strings
│  │      │  └───────0 B (00.00%) -- xml
│  │      ├───2,915 B (00.00%) -- scripts
│  │      ├───2,688 B (00.00%) -- object-slots
│  │      ├─────156 B (00.00%) -- string-chars
│  │      ├───────0 B (00.00%) -- mjit-code
│  │      ├───────0 B (00.00%) -- mjit-data
│  │      ├───────0 B (00.00%) -- tjit-code
│  │      └───────0 B (00.00%) -- tjit-data
│  │              ├──0 B (00.00%) -- allocators-main
│  │              └──0 B (00.00%) -- allocators-reserve

│  ├──────54,662 B (00.08%) -- compartment([System Principal], 0xfee6800)
│  │      ├──49,152 B (00.07%) -- gc-heap
│  │      │  ├──32,216 B (00.05%) -- arena-unused
│  │      │  ├──10,352 B (00.01%) -- objects
│  │      │  ├───6,160 B (00.01%) -- shapes
│  │      │  ├─────216 B (00.00%) -- arena-padding
│  │      │  ├─────192 B (00.00%) -- arena-headers
│  │      │  ├──────16 B (00.00%) -- strings
│  │      │  └───────0 B (00.00%) -- xml
│  │      ├───3,200 B (00.00%) -- object-slots
│  │      ├───2,154 B (00.00%) -- scripts
│  │      ├─────156 B (00.00%) -- string-chars
│  │      ├───────0 B (00.00%) -- mjit-code
│  │      ├───────0 B (00.00%) -- mjit-data
│  │      ├───────0 B (00.00%) -- tjit-code
│  │      └───────0 B (00.00%) -- tjit-data
│  │              ├──0 B (00.00%) -- allocators-main
│  │              └──0 B (00.00%) -- allocators-reserve

│  ├──────44,421 B (00.06%) -- compartment([System Principal], 0x1070c000)
│  │      ├──40,960 B (00.06%) -- gc-heap
│  │      │  ├──31,320 B (00.04%) -- arena-unused
│  │      │  ├───5,688 B (00.01%) -- objects
│  │      │  ├───3,560 B (00.00%) -- shapes
│  │      │  ├─────216 B (00.00%) -- arena-padding
│  │      │  ├─────160 B (00.00%) -- arena-headers
│  │      │  ├──────16 B (00.00%) -- strings
│  │      │  └───────0 B (00.00%) -- xml
│  │      ├───2,688 B (00.00%) -- object-slots
│  │      ├─────619 B (00.00%) -- scripts
│  │      ├─────154 B (00.00%) -- string-chars
│  │      ├───────0 B (00.00%) -- mjit-code
│  │      ├───────0 B (00.00%) -- mjit-data
│  │      ├───────0 B (00.00%) -- tjit-code
│  │      └───────0 B (00.00%) -- tjit-data
│  │              ├──0 B (00.00%) -- allocators-main
│  │              └──0 B (00.00%) -- allocators-reserve
(If you try installing directly from the Add-on Builder site, you have to install the Add-on Builder Helper extension, which adds a ton of its own system compartments, which is why I did the download + install method.)
Marking this as a dup due to bug 672443 comment 9.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.