プロジェクト

全般

プロフィール

Vote #65510

未完了

Configuration option to disable pdf creation of issues

Admin Redmine さんが約2年前に追加. 約2年前に更新.

ステータス:
New
優先度:
通常
担当者:
-
カテゴリ:
PDF export_39
対象バージョン:
-
開始日:
2009/07/23
期日:
進捗率:

0%

予定工数:
category_id:
39
version_id:
0
issue_org_id:
3661
author_id:
1754
assigned_to_id:
0
comments:
7
status_id:
1
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[New]

説明

I am having a problem with Redmine processes dying, occupying lots of CPU/memory and being difficult to stop. I did some debugging and found that they were always working on issue_to_pdf. Google and other crawlers would go after these links, and for some reason get stuck there.

I looked to see if I could disable this functionality for the entire site installation (or per project) to test to see if this would solve my problem, but there was no option.

For the moment, I am using some robots.txt regexp functionality, which is not fully supported by the robots.txt RFC, but some crawlers will honor (such as google), but it would be nice if I could disable this in Redmine's config.


journals

The phusion passenger documentation states:

<pre>
If one of your application instances is frozen (stopped responding), then you can figure out where it is frozen by killing it with SIGABRT. This will cause the application to raise an exception, with a backtrace.
</pre>

Here is the backtrace that I get on every process that seems to be hung:

<pre>
SignalException (SIGABRT):
/usr/lib/ruby/1.8/phusion_passenger/abstract_request_handler.rb:328:in `install_useful_signal_handlers'
/vendor/plugins/rfpdf/lib/rfpdf/chinese.rb:213:in `call'
/vendor/plugins/rfpdf/lib/rfpdf/chinese.rb:213:in `MBMultiCell'
/vendor/plugins/rfpdf/lib/rfpdf/chinese.rb:147:in `MultiCell'
/lib/redmine/export/pdf.rb:225:in `issue_to_pdf'
/app/controllers/issues_controller.rb:108:in `show'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:131:in `call'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:131:in `custom'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:160:in `call'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:160:in `respond'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:154:in `each'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:154:in `respond'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/mime_responds.rb:107:in `respond_to'
/app/controllers/issues_controller.rb:105:in `show'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:1166:in `send'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:1166:in `perform_action_without_filters'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:579:in `call_filters'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/rescue.rb:201:in `perform_action_without_caching'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/caching/sql_cache.rb:13:in `passenger_orig_perform_action'
/var/lib/gems/1.8/gems/activerecord-2.1.2/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
/var/lib/gems/1.8/gems/activerecord-2.1.2/lib/active_record/query_cache.rb:8:in `cache'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/caching/sql_cache.rb:12:in `passenger_orig_perform_action'
/usr/lib/ruby/1.8/phusion_passenger/railz/request_handler.rb:64:in `perform_action'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:529:in `send'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:529:in `process_without_filters'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/session_management.rb:130:in `process'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:389:in `process'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:149:in `handle_request'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:107:in `dispatch'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:104:in `synchronize'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:104:in `dispatch'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:35:in `dispatch'
/usr/lib/ruby/1.8/phusion_passenger/railz/request_handler.rb:49:in `process_request'
/usr/lib/ruby/1.8/phusion_passenger/abstract_request_handler.rb:206:in `main_loop'
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:376:in `start_request_handler'
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:334:in `handle_spawn_application'
/usr/lib/ruby/1.8/phusion_passenger/utils.rb:182:in `safe_fork'
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:332:in `handle_spawn_application'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:351:in `__send__'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:351:in `main_loop'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:195:in `start_synchronously'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:162:in `start'
/usr/lib/ruby/1.8/phusion_passenger/railz/application_spawner.rb:213:in `start'
/usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:261:in `spawn_rails_application'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
/usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
/usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:254:in `spawn_rails_application'
/usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:153:in `spawn_application'
/usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:286:in `handle_spawn_application'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:351:in `__send__'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:351:in `main_loop'
/usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:195:in `start_synchronously'
/usr/lib/phusion_passenger/passenger-spawn-server:61
</pre>
--------------------------------------------------------------------------------
Hi,
I have the same problem on one of my public server. It would be nice if we could edit permissions in the "Roles and permissions" menu, so we could choose who can generate pdf (and atom and csv) and who can not.
Thanks
--------------------------------------------------------------------------------
Well this bug was too problematic for us. We appleid a temporary solution, which is to modify the Apache configuration to rewrite all the urls that are used to export to pdf. Now we don't have anymore crashes...
--------------------------------------------------------------------------------
i have also problem with export to pdf, if the page has images.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
I still think a global option to disable PDF generation would be a useful general option to have.

Even beyond that, it would be even better if PDF generation could be restricted to e.g. registered users or certain groups.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


related_issues

relates,Closed,31617,robots.txt: disallow crawling dynamically generated PDF documents

Admin Redmine さんが約2年前に更新

  • カテゴリPDF export_39 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0