LINUX.ORG.RU
 

Firefox разжирел


0

2

Разработчики Mozilla столкнулись с проблемой: в процессе компиляции mozilla-inbound под Windows вылетает ошибка
Проведённое расследование показало, что компоновщик выходит за пределы виртуального адресного пространства во время оптимизации. Ему не хватает 3 ГБ памяти, которые выделяет приложению 32-битная Windows
http://habrahabr.ru/blogs/firefox/134525/
Надо было на C++ писать, тогда бы не жрал память как java


[#]  
>>-----Цитата---->>

Надо было на C++ писать, тогда бы не жрал память как java

<<-----Цитата----<<

MSVC написан на Java?

()
[#]  
winddos
>>-----Цитата---->>

Windows
habrahabr
как java
java

<<-----Цитата----<<

Язабан

* ()
[#]  
control

жырнолис треснул

внезапно, ага

* ()
[#] Ответ на: комментарий от stack_protector 14.12.2011 18:25:41  
>>-----Цитата---->>

MSVC написан на Java?

<<-----Цитата----<<

очевидно, ведь весь ЛОР кричит что "жаба жрет много памяти". Значит очевидно C++ память не жрет

**** ()
[#] Ответ на: комментарий от Karapuz 14.12.2011 18:27:23  
>>-----Цитата---->>

Значит очевидно C++ память не жрет

<<-----Цитата----<<

Только в мозгах, не обремененных логикой.

()
[#]  
XVilka

криворукость разработчиков msvc скорее

** ()
[#]  
different_thing

Устройства sbcl тред

Только 3 гига виртуальной памяти? У меня sbcl 8 гигов жрет. Интересно, а что под вышеобозначенной виндой он будет делать? Отожрет 3? А зачем ему 8?

()
[#] Ответ на: комментарий от stack_protector 14.12.2011 18:29:00  
f1xmAn
>>-----Цитата---->>

Только в мозгах, не обремененных логикой.

<<-----Цитата----<<

У этих самых девелоперов и жрет. Писать нужно красиво.

** ()
[#]  
stevejobs

Для Хромиума нужно 6 гигабайт, и что?

ниасиляторы детектед

** ()
[#] Ответ на: Устройства sbcl тред от different_thing 14.12.2011 18:38:10  

different_thing> У меня sbcl 8 гигов жрет.

Виртуальной памяти, реально почти и не жрет совсем

***** ()
[#]  
namezys

Да какая разница, что он при компиляции жрет то?

*** ()
[#]  
>>-----Цитата---->>

Надо было на C++ писать, тогда бы не жрал память как java

<<-----Цитата----<<

Огнелис написан на яве? Так вот почему он такой толстый!

**** ()
[#] Ответ на: комментарий от different_thing 14.12.2011 18:42:04  

> компоновщик выходит за пределы виртуального адресного пространства

выходит за пределы

выходит

sbcl у тебя выходит?

***** ()
[#]  
daemonpnz

Почему при использовании GCC с PGO не возникает таких проблем?!

Таки MS в очередной раз показывает, что у неё криворукие разрабы.

**** ()
[#]  
AGUtilities

а причём тут хабрахабра?

** ()
[#] Ответ на: комментарий от winddos 14.12.2011 18:26:14  
AGUtilities
>>-----Цитата---->>

Язабан

<<-----Цитата----<<

согласен

** ()
[#] Ответ на: комментарий от AGUtilities 14.12.2011 18:51:43  

Там весело комментарии вантузятнечков почитать.

**** ()
[#]  
redgremlin
>>-----Цитата---->>

компоновщик
Windows

<<-----Цитата----<<

Казалось бы, и причем здесь Луж^Wfirefox?

***** ()
[#] Ответ на: комментарий от stevejobs 14.12.2011 18:40:04  
tiandrey

>Для Хромиума нужно 6 гигабайт, и что?

Да ладно, больше гигабайта во время сборки не жрал никогда.

* ()
[#] Ответ на: комментарий от tiandrey 14.12.2011 18:59:29  
stevejobs

А ты его собери в девелоперской конфигурации — со всеми зависимостями, и 6 выжрет, и еще больше выжрет :)

** ()
[#] Ответ на: комментарий от sdio 14.12.2011 18:40:43  
true_admin

> Виртуальной памяти, реально почти и не жрет совсем

после того как он вышел за пределы адресуемого пространства сколько он реально жрёт уже никого не волнует.

***** ()
[#]  
Best-hokum_ever

Отсталая ограниченная система не в состоянии собирать современные броузеры?

# ()
[#] Ответ на: комментарий от stevejobs 14.12.2011 19:00:49  
tiandrey

Дык он же вроде и так со все зависимостями собирается, или почти два часа только браузер собирается, а зависимости из системы берёт?

* ()
[#] Ответ на: комментарий от tiandrey 14.12.2011 19:06:57  
stevejobs

зависимости из системы берет. Если ты статически соберешь девелоперский хромиум, получится экзешник на 2 гига

** ()
[#] Ответ на: комментарий от tiandrey 14.12.2011 19:06:57  
stevejobs
>>-----Цитата---->>

или почти два часа только браузер
два часа

<<-----Цитата----<<

сколько?!..

** ()
[#] Ответ на: комментарий от stevejobs 14.12.2011 19:10:12  

Два часа. Когда генту использовал, столько и было.

()
[#] Ответ на: комментарий от stevejobs 14.12.2011 19:10:12  
tiandrey
$ genlop -t firefox chromium
 * www-client/firefox

     Tue Nov 29 23:12:00 2011 >>> www-client/firefox-8.0
       merge time: 1 hour, 53 minutes and 36 seconds.

 * www-client/chromium

     Tue Nov 29 21:06:29 2011 >>> www-client/chromium-17.0.938.0
       merge time: 1 hour, 21 minutes and 48 seconds.

     Sat Dec 10 05:09:01 2011 >>> www-client/chromium-17.0.963.2
       merge time: 1 hour, 32 minutes and 18 seconds.

     Wed Dec 14 04:46:23 2011 >>> www-client/chromium-17.0.963.6
       merge time: 1 hour, 43 minutes and 9 seconds.

Core2Duo @ 2.00Ghz, без ccache.

* ()
[#] Ответ на: комментарий от tiandrey 14.12.2011 19:13:44  
tiandrey

При этом толстолис-то с PGO собирается, т.е. время сборки в два раза меньше.

* ()
[#]  
>>-----Цитата---->>

* Win PGO builds were failing whilst linking, due to running out of virtual address space. This happened a few years ago (bug 543034), and the fix then was to start using the /3GB switch, which upped the limit from 2GB to 3GB. However that's now still not enough.

<<-----Цитата----<<

проблема PGO была известна давно, тогда её временно решили тупо увеличив лимиты. Не разбираясь с причиной (ну заработало-же ёптыть) наступили на те-же грабли. И при чём тут windows, msvc, С++, java? миграции неандертальцев, песни ласкового мая и Бастилия если в проекте на серьёзный баг системы сборки забит такой-же серьёзный болт.

**** ()
[#] Ответ на: комментарий от daemonpnz 14.12.2011 18:45:10  

К сожалению, возникает. Ему чуточку не хватает 1,5 Гб, которые доступны у меня, он вылезает в своп, и начинается ад в виде копирования туда-сюда из свопа.

* ()
[#] Ответ на: комментарий от MKuznetsov 14.12.2011 19:15:48  
mironov_ivan
>>-----Цитата---->>

если в проекте на серьёзный баг системы сборки забит такой-же серьёзный болт.

<<-----Цитата----<<

Баг не в системе сборки, а в микрософтовском компоновщике.

***** ()
[#]  
XVilka

А вот цитата в доказательство криворукости разрабов MSVC (взято из changelog gcc-4.7)

>>-----Цитата---->>

Improved scalability and reduced memory usage. Link time optimization of Firefox now requires 3GB of RAM on a 64-bit system, while over 8GB was needed previously. Linking time has been improved, too. The serial stage of linking Firefox has been sped up by about a factor of 10.

<<-----Цитата----<<
** ()
[#]  
yoghurt

Фаерфокс ещё норм, а вот хромиум действительно с ума сойдешь собирать

***** ()
[#] Ответ на: комментарий от redgremlin 14.12.2011 18:58:26  
>>-----Цитата---->>

Казалось бы, и причем здесь Луж^Wfirefox?

<<-----Цитата----<<

При том, что при линковке этого самого firefox-а линковщик выжирает всю доступную память и падает, настолько огнелис разжирел

* ()
[#] Ответ на: комментарий от daemonpnz 14.12.2011 19:28:56  

Просто еще пару месяцев назад такой проблемы не было, firefox 7 нормально собирался с PGO на той же конфигурации. А теперь вот и впрямь разжирел.

* ()
[#]  
Mystra_x64

PGO для слабаков.

***** ()
[#] Ответ на: комментарий от XVilka 14.12.2011 19:38:13  
control

Я не понял: для конпеляния с gcc pre-4.7 надо было овер 8ГБ, теперь(на 4.7) надо всего лишь 3ГБ и это доказательство криворукости разрабов MSVC каким именно образом?
Они гадили в предыдущую ветку гцц?

* ()
[#] Ответ на: комментарий от control 14.12.2011 20:01:02  

Да как бы у gcc нет проблем с over 3 Гб памяти, если того требует компоновщик, это мсье из майкрософта не осилили написать его нормально.

* ()
[#] Ответ на: комментарий от unanimous 14.12.2011 20:03:41  
control
>>-----Цитата---->>

on a 64-bit system
32-битная Windows

<<-----Цитата----<<

Okay.

* ()
[#] Ответ на: комментарий от control 14.12.2011 20:05:53  

Что окай? Как следует из коментов на хабре (за что купил — за то продал), даже 64-битная версия компоновщика из mvs не 64-битная вовсе.

* ()
[#]  
proud_anon

Ну, Хромиум например, в сборке для отладки вообще, по-моему, на 32 битах не собирался: 32-битная сборка собиралась на 64-битной системе. Тоже не хватало памяти. Однако Release-версия собиралась. Мозилла как-то совсем круто учудила.

*** ()
[#]  
proud_anon

Ну, Хромиум например, в сборке для отладки вообще, по-моему, на 32 битах не собирался: 32-битная сборка собиралась на 64-битной системе. Тоже не хватало памяти. Однако Release-версия собиралась. Мозилла как-то совсем круто учудила.

*** ()
[#]  

Re: Firefox разжирел

Криокамера потекла

**** ()
[#]  

У меня и при сборке под Линуксом тоже линкёр жрёт непомерно много гигабайт, уходит в своп, и ближайшие часа 2 на компе невозможно работать.

** ()
[#]  
CYB3R

Венда не нужна. Очевидно же!

* ()
[#] Ответ на: комментарий от Best-hokum_ever 14.12.2011 19:01:48  
wintrolls

>> Отсталая ограниченная система не в состоянии собирать современные броузеры?
Как будто современные жирнобраузеры кому-то нужны.

* ()
[#]  
>>-----Цитата---->>

Ему не хватает 3 ГБ памяти, которые выделяет приложению 32-битная Windows

<<-----Цитата----<<

Windows не нужен. А если что-то надо компилировать, то есть кросскомпиляция и полноценные ОС

**** ()