Re: [gitorious] PushProcessor errors when pushing to any repo

217 views
Skip to first unread message

Thomas Kjeldahl Nilsson

unread,
Aug 9, 2012, 4:03:46 AM8/9/12
to gito...@googlegroups.com
Hi there,

this appears to be a bug that was introduced way back in February, but for some reason hasn't show up anywhere else so far (that we know of!). Perhaps something specific to your config?

Anyway, I've pushed a fix to mainline now. Pull and let us know if it resolves your errors.

cheers,
Thomas


On 08/09/2012 09:53 AM, esc201 wrote:
Hi all,

I just installed Gitorious (cloned from master branch on mainline) and am getting two errors emailed to me whenever I push to any repo. If it matters, in a failed attempt to solve this problem, I re-cloned Gitorious just a few hours ago, but left the database and repos directory intact.

In short, the errors are:

NoMethodError: undefined method `gitdir' for nil:NilClass

        
and

        
ActiveMessaging::AbortMessageException: ActiveMessaging::AbortMessageException

        
Full backtraces are here:
http://pastebin.com/xmRCmUhm
http://pastebin.com/cZgwiVh4

Strangely enough, pushing still seems to work fine. That is, the pushed code still shows up in a browser properly and git reports no errors client side.

Any ideas?

Thank you!
--
To post to this group, send email to gito...@googlegroups.com
To unsubscribe from this group, send email to
gitorious+...@googlegroups.com


-- 
best regards,
Thomas Kjeldahl Nilsson
http://gitorious.com

Thomas Kjeldahl Nilsson

unread,
Aug 10, 2012, 2:55:28 AM8/10/12
to esc201, gito...@googlegroups.com

Taking a look at this later today, haven't seen this on our end. BTW which specific Ruby version are you running the processes on?

cheers,
Thomas


On 08/09/2012 07:58 PM, esc201 wrote:
Hi Thomas,

Thanks for the reply!

I pulled your changes and rebooted my server, and while the "gitdir" error is now gone, it seems to have been replaced with another error.

NoMethodError: undefined method `wiki?' for nil:NilClass

        
The other error still persists as well.
ActiveMessaging::AbortMessageException: ActiveMessaging::AbortMessageException


Backtraces:

The config I'm using is:

production:
  cookie_secret: ******
  repository_base_path: "/home/git/repos"
  site_name: ******
  use_ssl: true
  gitorious_client_port: 80
  gitorious_client_host: localhost
  gitorious_host: *****
  gitorious_user: git
  exception_notification_emails: *****
  gitorious_support_email: *****
  mangle_email_addresses: false
  public_mode: false
  locale: en
  archive_cache_dir: "/home/git/tarballs"
  archive_work_dir: "/home/git/tarball-work"
  only_site_admins_can_create_projects: false
  hide_http_clone_urls: false
  is_gitorious_dot_org: false

I'm still new to Gitorious, but I think everything in there is at least relatively normal.

Would it make any difference if I'm using Ruby Enterprise?

Thanks again!

Thomas Kjeldahl Nilsson

unread,
Aug 13, 2012, 6:14:01 AM8/13/12
to esc201, gito...@googlegroups.com
Hello again,

I'm currently unable to recreate this. Could you do me a favor, though? Run git log the app/models/repository.rb:

git log --pretty=oneline app/models/repository.rb

and paste/reply what you see. I wonder if your code is fully up to date.

cheers,
Thomas


On 08/10/2012 09:14 AM, esc201 wrote:
Thomas,

My Ruby version is:
# ./ruby --version
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02

/proc info for the processes seems to confirm that version 1.8.7 is in fact being used (/opt/ruby is a symlink to my Ruby Enterprise directory).

# ps aux | grep ruby
git       4582  0.0  1.5  94620 15600 ?        S    Aug09   0:27 /opt/ruby/bin/ruby /usr/bin/stompserver -w /var/www/gitorious/tmp/stomp -q file -s queue
git       4614  0.0 13.9 269068 142244 ?       S    Aug09   0:00 ruby /var/www/gitorious/script/git-daemon -d
# ls -la /proc/4614/exe
lrwxrwxrwx. 1 git apache 0 Aug 10 03:05 /proc/4614/exe -> /opt/ruby-enterprise-1.8.7-2012.02/bin/ruby

Although, if I'm not mistaken Passenger should be using a Ruby interpreter as well. I'm unsure how to figure out which one it's using.

Thanks!

esc...@gmail.com

unread,
Aug 14, 2012, 3:52:01 AM8/14/12
to tho...@gitorious.com, gito...@googlegroups.com
Hi Thomas,

Thanks for sticking with this.

Earlier today I tried deleting the database, using the ruby package from yum, and re-cloning from mainline again. I also used the sample gitorious.yml config with only the necessary changes to get this running. None of this fixed the "NoMethodError: undefined method `wiki?' for nil:NilClass" error though.

The git output you requested is here: http://pastebin.com/GVNCGD13

Two things I've noticed as I was setting everything backup again:
1. I get this error  "https://github.com/roman/rots.git (at master) is not checked out. Please run bundle install" everytime after a fresh clone. I run "bundle install --path vendor/cache" to fix it as described in the SO question: http://stackoverflow.com/questions/8055711/gitorious-rots-ruby-on-rails-error

2. Another problem I have is I have to run "git submodule init" and "git submodule update" in order to resolve an issue with spin.js not being present.

I don't know if either of these are relevant, but it can't hurt to mention them.

The only other thing I can think to do is a fresh install of RHEL on the server (gitorious is currently the only thing on it so it's not that big of a deal). Is there a possibility this could fix it? Or is it a waste of time?

Thanks again.

Thomas Kjeldahl Nilsson

unread,
Aug 14, 2012, 4:53:33 PM8/14/12
to esc201, gito...@googlegroups.com
That's exactly what I was thinking, but I haven't come up with any good explanation - haven't seen these symptoms before.

To address your earlier thoughts on reinstalling etc. I don't think reinstalling the underlying OS or dependent services makes any difference here, and submodules, like you mentioned, are probably not the issue.

Seems like the process is simply missing stuff in its ruby load path for some reason. More specifially in the process which is picking up messages from the queue. Maybe have another look at how your queue is set up?

cheers,
Thomas




On 08/14/2012 10:17 PM, esc201 wrote:
Just to see what would happen, I commented out lines 36, 37, and 38 in push_processor.rb. I restarted everything, and got the error:

NoMethodError: undefined method `project' for nil:NilClass

/var/www/gitorious/lib/push_event_logger.rb:48:in `build_push_event'
	/var/www/gitorious/lib/push_event_logger.rb:53:in `create_push_event'
	/var/www/gitorious/app/processors/push_processor.rb:53:in `process_push'
	/var/www/gitorious/app/processors/push_processor.rb:41:in `on_message'
	/var/www/gitorious/lib/gitorious/messaging.rb:82:in `consume'
	/var/www/gitorious/lib/gitorious/messaging/stomp_adapter.rb:96:in `on_message'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/processor.rb:32:in `process!'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:232:in `_dispatch'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:151:in `execute_filter_chain'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:231:in `_dispatch'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:222:in `each'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:222:in `_dispatch'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:207:in `dispatch'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:204:in `synchronize'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:204:in `dispatch'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:45:in `start'
	/var/www/gitorious/vendor/cache/ruby/1.8/gems/activemessaging-0.7.1/lib/activemessaging/gateway.rb:32

It's like I'm missing some code, but I don't know what. Hmm.

anapsix

unread,
Nov 16, 2012, 6:37:10 PM11/16/12
to gito...@googlegroups.com, esc201, tho...@gitorious.com
After a latest pull, wiki problem went away.. but project is still undefined:

NoMethodError: undefined method `project' for nil:NilClass
/srv/git/gitorious/lib/push_event_logger.rb:48:in `build_push_event'
        /srv/git/gitorious/lib/push_event_logger.rb:53:in `create_push_event'
        /srv/git/gitorious/app/processors/push_processor.rb:53:in `process_push'
        /srv/git/gitorious/app/processors/push_processor.rb:41:in `on_message'
        /srv/git/gitorious/lib/gitorious/messaging.rb:83:in `consume'
        /srv/git/gitorious/lib/gitorious/messaging/stomp_adapter.rb:96:in `on_message'

I was wondering if the message is missing the project/repo data.. but it seems to be there.. 
Here is an example (if it helps) of a queued message when I use build in STOMP server, and not Apache ActiveMQ:
@command"00000a2o: StompServer::StompFram:
         MESSAGE:
@headers{
"message-id"0git-dev-1353103612-769291-1" destination" /queue/GitoriousPush" content-length162" content-type" text/plain; charset=UTF-8"persistent" true{"username":"anapsix","gitdir":"repos/test/test","message":"500a2bfdf346d7ba930b98e6b1f3c2583ca2d71d 518d1c9c31a77e5c7cbe5528a64331f53b52f774 refs/heads/master"}

and is it most certainly not the problem with lib/gitorious/ssh/client.rb .. it properly splits the strainer into @project_name and @repository_name, besides, the changes are being applied to ORIGIN.. when I test pull the repo back in a different directory, the changes and git log shows everything is there.. 

On Wednesday, October 17, 2012 12:44:15 PM UTC-4, anapsix wrote:
same here..  as soon as I push, I get the following error emailed to me:

An exception occured in #<PushProcessor:0x6c6f038
 @repository=nil,
 @spec=
  #<PushSpecParser:0x6c6a948
   @from_sha=
    #<PushSpecParser::Sha:0x6c6a8f8
     @sha="4d0ae08efc6b7a7aabce877467ec98b633afe8e0">,
   @ref=#<PushSpecParser::Ref:0x6c6a8a8 @name="master", @type="heads">,
   @to_sha=
    #<PushSpecParser::Sha:0x6c6a8d0
     @sha="e04ed7cc2b93d4160b75619f60dd5cc65bb5e124">>,
 @user= [... snip ...]

NoMethodError: undefined method `wiki?' for nil:NilClass

Not sure id that makes any difference, but wiki is disabled for the project.. 

On Wednesday, October 3, 2012 4:27:15 PM UTC-4, Scott Allen wrote:
Any resolution on this? I am seeing the same error on a newer server that we have configure to replace an older one. Older environment has no issue. They are running the exact same gitorious code base with the configuration as close as possible, with the only difference really being the patch level of pruby.
 

NoMethodError: undefined method `wiki?' for nil:NilClass

 

-scott

Reply all
Reply to author
Forward
0 new messages