LINUX.ORG.RU

Не проходит прекомпиляция asset'ов.

 , ,


0

1

Debian wheezy, развертыаю gitlab.

bundle exec rake assets:precompile RAILS_ENV=production --trace выдает страшнющий трейс и валится. Выхлоп: http://p.ncrmnt.org/99/

В dmesg при этом появляется веселенькое такое упоминание: [108663.023736] Unhandled prefetch abort: breakpoint debug exception (0x002) at 0xb4dbecb4

В какую сторону копать?

★★★★★
Ответ на: комментарий от renya

не пробовал, он у меня не настроен. Если отключить ручками компиляцию ассетов, то оно работает. Но без css/js, что выглядит уныло.

ncrmnt ★★★★★
() автор топика

Какой интерпретатор жаваскрипта используешь? Попробуй обновить его или заюзать другой.

Если не поможет, попробуй минифицировать каждый файл в отдельности, может что-то прояснится.

Apple-ch ★★
()
Ответ на: комментарий от Apple-ch

Насколько знаю, оно на v8 завязано через therubyracer. Оный и так пришлось патчить, так как собирался без -fPIC

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от Apple-ch

Нет, 0.11.4, оный был в Gemfile.lock стабильного gitlab'а. Сейчас пробую собраться с последним гонщиком и libv8. Подозреваю что засада была где-то в v8. Да, забыл сказать - все это происходит на armhf.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от Apple-ch

Попробуй ноду всё же.

есть мануал как это делается? Я с рельсами знаком третий день, чую к концу пуско-наладочных работ гитлаба раби изучу, как изучил когда-то эрланг когда ejabberd упал...

ncrmnt ★★★★★
() автор топика

Переключился на последние версии therubyracer, libv8 и gitlab'а. Стектрейс руби при компиляции ассетов поднял мертвых из могил: http://p.ncrmnt.org/100/

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt

есть мануал как это делается?

просто в Gemfile нужно закомментировать «therubyracer», он по зависимостям перестанет тянуть в8 (с которым у меня тоже продолжается секс) и перезапустить bundle install.

дабы ассеты все же компилировалинь нужно установить nodejs через ваш ПМ.

ZuBB ★★★★★
()
Последнее исправление: ZuBB (всего исправлений: 1)
Ответ на: комментарий от ncrmnt

вообщето в багзилле therubyracer’а содом и гоморра, и если присмотреться по причина на самом деле как раз в его прямой зависимости — в8, мать его.

ZuBB ★★★★★
()

Какие версии
gitlab, rails, ruby, OS
?

PaulAS
()
Ответ на: комментарий от anonymous

Со свежим руби был сейм шит. Помогло выпиливание гонщика из гемфайла. Но до конца не довел - валяюсь тут с температурой.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ZuBB

не всем нужно самое свежайшее

Всем кроме некрофилов:)) Уж последней версией 1.9.3 (в данном случае) неплохо бы обзавестись.

Вообще, руби сообщество любит последние версии (наверно как никто другой).

special-k ★★★★
()
Ответ на: комментарий от ZuBB

Да нет, собраться-то она как раз собралась с матами и бубном. Но при попытке непосредственно использования своими трейсами чуть мертвых не подняла.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от special-k

Если на одной платформе собирается а на другой нет, хотя написало на С/С++ без ассемблерных вставок, то это уже очень многое говорит о разработчике и о том, каких сюрпризов можно ожидать в его коде.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt

Не у всех так много времени, чтобы дежать арч на продакшн сервере.
Оный и так пришлось патчить, так как собирался без -fPIC

Те, кто ценит время, используют ubuntu и rbenv.

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)

Теперь что, рельсы без этой фигни не пашут? Совсем скатились...

Hjorn
()
Ответ на: комментарий от special-k

И про v8 тоже. Очень странная и монструозная штука. Чего только этот патч стоит, который накатывается перед сборкой

           [ 'visibility=="hidden" and v8_enable_backtrace==0', {
             'cflags': [ '-fvisibility=hidden' ],
           }],
-          [ 'component=="shared_library"', {
+          [ 'component=="shared_library" or component=="static_library" and v8_target_arch=="x86_64"', {
             'cflags': [ '-fPIC', ],
           }],
         ],

В итоге на арме получаем libv8 без -fPIC. Вот такой вот фейспалм.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt
irb(main):001:0> require 'v8'
=> true
irb(main):002:0> cxt = V8::Context.new
=> #<V8::Context:0x007f69cb6bff80 @conversion=#<V8::Conversion:0x007f69cb6bff30>, @access=#<V8::Access:0x007f69cb6bff08>, @native=#<V8::C::Context:0x007f69cb6bfe68>>
irb(main):003:0> cxt.eval('7 * 6')
=> 42
irb(main):004:0> `uname -a`
=> "Linux runo 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:04:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux\n"

ЧЯДН?

special-k ★★★★
()
Ответ на: комментарий от special-k

а теперь накати убанту на armhf

ncrmnt ★★★★★
() автор топика

Скомпилируй ассеты где-нибудь, где все может нормально работать и залей готовыми. Выставь config.assets.compile = false в config/environments/production.rb.
Устанавливай либы bundle install —without test development assets

Что это за сервер такой на арме?

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от special-k

Отвечая на твой удаленный коммент (задолбал, только копипасчу ответ, а ты уже коммент снес) отвечаю - да, упустил: 1. git.ncrmnt.org работает на armhf (odroid-x2) 2. Что я уже все поднял давно, ампутировав по совету ZuBB в быдрореактор гонщика и поставив node из репозиториев. После этого ассеты нормально сгенерились.

ncrmnt ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.