From lists at ruby-forum.com Thu Jul 2 14:07:06 2009 From: lists at ruby-forum.com (Ronan O'driscoll) Date: Thu, 2 Jul 2009 20:07:06 +0200 Subject: [Mongrel] Apache22+mod_proxy+mongrel+ssl In-Reply-To: <35cba0410801180112i1050c3a1j7e6283ad1619b6ed@mail.gmail.com> References: <8D2745F3-7BA8-42E1-A5D4-B0A0E770EC4F@identry.com> <8DABD661-6EAB-4A7F-8761-B8CCCBB2648A@identry.com> <35cba0410801180112i1050c3a1j7e6283ad1619b6ed@mail.gmail.com> Message-ID: <246a831fb05ea867ac73e10a7a862b22@ruby-forum.com> It certainly helped me! Thanks a lot. Ronan -- Posted via http://www.ruby-forum.com/. From lists at ruby-forum.com Wed Jul 8 13:27:32 2009 From: lists at ruby-forum.com (Alexey Petrushin) Date: Wed, 8 Jul 2009 19:27:32 +0200 Subject: [Mongrel] Why Mongrel doesn't cancel connection on error? Message-ID: Why Mongrel doesn't cancel connection on error? Example: (Mongrel using Rack) ... def call env begin p :start sleep 10 ensure p :stop end end ... Open browser, go to localhost:8080, and immediatelly close the browser. Output will be: start end Why it doesn't cancel/kill thread immediatelly? -- Posted via http://www.ruby-forum.com/. From normalperson at yhbt.net Wed Jul 8 19:51:12 2009 From: normalperson at yhbt.net (Eric Wong) Date: Wed, 8 Jul 2009 16:51:12 -0700 Subject: [Mongrel] Why Mongrel doesn't cancel connection on error? In-Reply-To: References: Message-ID: <20090708235112.GA20768@dcvr.yhbt.net> Alexey Petrushin wrote: > Why Mongrel doesn't cancel connection on error? > > Example: (Mongrel using Rack) > > ... > def call env > begin > p :start > sleep 10 > ensure > p :stop > end > end > ... > > Open browser, go to localhost:8080, and immediatelly close the browser. > Output will be: > > start > > end > > Why it doesn't cancel/kill thread immediatelly? Because it's not commonly needed and it's extra overhead which punishes applications that respond quickly anyways. You're not the first person to want it and I proposed a (still untested) solution in this thread here: http://groups.google.com/group/rack-devel/browse_thread/thread/5e5b52892f5e9353 -- Eric Wong From lists at ruby-forum.com Mon Jul 20 03:47:20 2009 From: lists at ruby-forum.com (Samnang Chhun) Date: Mon, 20 Jul 2009 09:47:20 +0200 Subject: [Mongrel] Can't get value params[:model] first request? Message-ID: I get nil from params[:model] in create action of my controller for the first request when I start my mongrel server by using mongrel_rails start. After that for second and third time are ok. In addition, if I start my Mongrel by using script/server, it doesn't have any problems at all. It is different by starting mongrel server between script/server and mongrel_rails start? Have you ever faced this problem? -- Posted via http://www.ruby-forum.com/. From jftucker at gmail.com Wed Jul 22 04:38:00 2009 From: jftucker at gmail.com (James Tucker) Date: Wed, 22 Jul 2009 09:38:00 +0100 Subject: [Mongrel] Mongrel_rails memory usage ballooning rapidly In-Reply-To: References: Message-ID: 200-300MB is not unusual for a rails application. Is it growing past that? Maybe use 3 or 4 mongrels, rather than 8. On 22 Jul 2009, at 09:18, Navneet Aron wrote: > Hi Folks, > I've a rails application in production environment.The rails app > has both a website as well as REST apis that are called by mobile > devices. It has a apache front end and 8 mongrel_rails running when > I start the cluster. Each of them stabalize around 60 MB initially. > After that pretty rapidly one or two of the mongrel_rails process's > memory usage climbs upto 300 MB (within 30 min). If I leave the > system for 2 hours, pretty much all the processes would have reached > upwards of 300 MB . (Also there are times when I can leave the > system running pretty much the whole day and memory usage will NOT > go upto 300MB). > > The entire site becomes really slow and I've to restart the server. > We wanted to profile the app, but we couldn't find a good profiling > tool for Ruby 1.8.7 > > Can someone please suggest how should we go about troubleshooting > this? > > Thanks, > Navneet > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users From mcr at simtone.net Wed Jul 22 10:50:12 2009 From: mcr at simtone.net (mcr at simtone.net) Date: Wed, 22 Jul 2009 10:50:12 -0400 Subject: [Mongrel] Mongrel_rails memory usage ballooning rapidly In-Reply-To: <325148f70907220211u1ad3640es966cdfe2806c22b2@mail.gmail.com> References: <325148f70907220211u1ad3640es966cdfe2806c22b2@mail.gmail.com> Message-ID: <20090722145013.1734E3D26A@navajo.ottawa.xdsinc.net> >>>>> "Piyush" == Piyush Ranjan writes: Piyush> 8 mongrels are way too much capacity. Do you need that many ? Mongrels Piyush> taking 300MB is not unheard of as James said. Are you using loads of Piyush> libraries or cache in memory ? Moreover counting per mongrel memory is not Piyush> so easy. If they use shared libraries the memory per process shoots up in Piyush> the "ps auwx" command but actual memory usage is not that Piyush> high. ps auwx output: xdsott003-[~] mcr 1256 %ps auwx USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 1704 540 ? Ss Jun18 0:00 /sbin/init root 2 0.0 0.0 0 0 ? S Jun18 0:00 [migration/0] ... The VSZ gives the total virtual size. The RSS gives the resident set size. If RSS is staying small-ish, and VSZ is climbing, then you have a memory leak (inside the process) of some kind. The leaked memory will be pushed into swap. If you run "lsof -p XXX" on the PIDs of the mongrels: mustang-[~] mcr 1093 %lsof -p 15305 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mongrel_r 15305 xas2 cwd unknown /proc/15305/cwd (readlink: Permission denied) mongrel_r 15305 xas2 rtd unknown /proc/15305/root (readlink: Permission denied) mongrel_r 15305 xas2 txt unknown /proc/15305/exe (readlink: Permission denied) mongrel_r 15305 xas2 mem REG 8,1 3336 266044 /usr/bin/ruby1.8 mongrel_r 15305 xas2 mem REG 0,0 0 [heap] (stat: No such file or directory) mongrel_r 15305 xas2 mem REG 8,1 38372 170534 /lib/tls/i686/cmov/libnss_files-2.3.6.so mongrel_r 15305 xas2 mem REG 8,1 76548 170528 /lib/tls/i686/cmov/libnsl-2.3.6.so You can see the size of each shared object. Mostly, they will all be loaded by the time that the mongrel has served a few requests. (It is certainly possible that you only load some other things later on, if so, there is an easy out) I have not seen my mongrels grow to 300M each. Typically, they are 90 to 100M, but I do not do a lot of caching, etc. I think it is worth writing some perl scripts to try to characterize if your mongrel grows to 300M quickly, or slowly. You might do this externally (in perl/shell/awk/), or you could do it inside of mongrel by using /proc/self to self-examine and lot sizes on each request. I agree that having 8 mongrels may not be the best idea --- depends upon how much CPU and RAM you have. I planned to have have 4 per single-CPU virtual machine, and scale horizontally with additional application servers. (Someone has a patch to have capistrano turn off one mongrel at a time during a deployment, but I do not recall where) -- Michael Richardson Director -- Consumer Desktop Development, Simtone Corporation, Ottawa, Canada Personal: http://www.sandelman.ca/mcr/ SIMtone Corporation fundamentally transforms computing into simple, secure, and very low-cost network-provisioned services pervasively accessible by everyone. Learn more at www.simtone.net and www.SIMtoneVDU.com From mcr at simtone.net Wed Jul 22 11:09:48 2009 From: mcr at simtone.net (mcr at simtone.net) Date: Wed, 22 Jul 2009 11:09:48 -0400 Subject: [Mongrel] Mongrel_rails memory usage ballooning rapidly In-Reply-To: References: <325148f70907220211u1ad3640es966cdfe2806c22b2@mail.gmail.com> Message-ID: <20090722150948.5D5B53D26A@navajo.ottawa.xdsinc.net> >>>>> "Navneet" == Navneet Aron writes: Navneet> Piyush, James,Thanks for your replies. Navneet> 1. The memory keeps increasing beyond 300MB and eventually the mongrel_rails Navneet> process goes away one by one. Check "dmesg" output. You may be getting OOM killed. Do you have enough swap? -- Michael Richardson Director -- Consumer Desktop Development, Simtone Corporation, Ottawa, Canada Personal: http://www.sandelman.ca/mcr/ SIMtone Corporation fundamentally transforms computing into simple, secure, and very low-cost network-provisioned services pervasively accessible by everyone. Learn more at www.simtone.net and www.SIMtoneVDU.com From normalperson at yhbt.net Thu Jul 23 05:09:34 2009 From: normalperson at yhbt.net (Eric Wong) Date: Thu, 23 Jul 2009 02:09:34 -0700 Subject: [Mongrel] Mongrel_rails memory usage ballooning rapidly In-Reply-To: References: Message-ID: <20090723090934.GA18236@dcvr.yhbt.net> Navneet Aron wrote: > Hi Folks, I've a rails application in production environment.The rails app > has both a website as well as REST apis that are called by mobile > devices. It has a apache front end and 8 mongrel_rails running when I start > the cluster. Each of them stabalize around 60 MB initially. After that > pretty rapidly one or two of the mongrel_rails process's memory usage climbs > upto 300 MB (within 30 min). If I leave the system for 2 hours, pretty much > all the processes would have reached upwards of 300 MB . (Also there are > times when I can leave the system running pretty much the whole day and > memory usage will NOT go upto 300MB). Hi, It this sort of stuff depends on your application, too: * Rule #1: Don't slurp in your application: - LIMIT all your SELECT statements in SQL, use will_paginate to display results (or whatever pagination helper is hot these days) - don't read entire files into memory, read in blocks of 8K - 1M at depending on your IO performance; mongrel itself tries to read off the socket in 16K chunks. - if you run commands that output a lot of crap, read them incrementally with IO.popen or redirect them to a tempfile and read them incremementally there, `command` will slurp all of that into memory. A huge class of memory usage problems can be solved by avoiding slurping. * Do you have slow actions that could cause a lot of clients to bunch up behind it? Make those actions faster, and then set num_processors to a low-ish number (1-30) in your mongrel config if you have to. Otherwise one Mongrel could have 900+ threads queued up waiting on one slow one. Make all your actions fast(ish). The _only_ way Mongrel itself can be blamed for memory growth like that is to have too many threads running; in all other cases it's solely application/framework's fault :) I assume you log your requests, look at your logs and find out if certain requests are taking a long time. Or, see if there's a sudden burst of traffic within a short time period ("short time period" meaning around the time it takes the longest request to finish on your site). If all requests finish pretty quickly and there were no traffic spike, then it could be one or a few bad requests passed that cause your application to eat memory like mad. For your idempotent requests, it would be worth it to setup an isolated instance with one Mongrel to replay request logs against and log memory growth before/after each request made. Back to Rule #1, I semi-recently learned of a change to glibc malloc that probably caused a lot of issues for slurpers: http://www.canonware.com/~ttt/2009/05/mr-malloc-gets-schooled.html Since Ruby doesn't expose the malloc(3) method, I've released a (very lightly tested) gem here: http://bogomips.org/mall/ ( gem install mall ) > The entire site becomes really slow and I've to restart the server. We > wanted to profile the app, but we couldn't find a good profiling tool for > Ruby 1.8.7 Evan's bleak_house was alright the last time I needed it (ages ago) but not the easiest to get going. I haven't needed to use anything lately but I haven't been doing much Ruby. Other things to look out for in your app: OpenStruct - just avoid them, use Struct or Hash instead. I can't remember exactly what's wrong with them, even, but they were BAD. finalizers - make sure the blocks you pass to them don't have the object you're finalizing bound to them, a common mistake. -- Eric Wong From lists at ruby-forum.com Fri Jul 24 01:51:02 2009 From: lists at ruby-forum.com (Jae man Lim) Date: Fri, 24 Jul 2009 07:51:02 +0200 Subject: [Mongrel] Question with linked list with multiple next pointers. Message-ID: Hi, I just learned some basic stuff about ruby, and I've been making a program about a list with different threads and adding some objects to the list with multiple pointers. I think my program is supposed to work fine, but it seems like there are some problems, which I cannot really figure out. Could anybody help me finding what my problems are, and actually if my program makes sense? This seems a lot, but this is a very simple program... please help me! :( class LibraryItem def findIndex end end class Movie < LibraryItem attr_reader :title, :director, :year, :star def initialize(title, director, year, *star) @title = title @director = director @year = year @star = star end #find out which indexes are going to be applied for a data object for node. def findIndex if star.size != 0 return ["title", "director", "year", "star", "creator"] else return ["title", "director", "year", "creator"] end end def to_s if star.size != 0 "Movie: title='#{title}' director=#{director} year=#{year} star=#{star}" else "Movie: title='#{title}' director=#{director} year=#{year}" end end end class Album < LibraryItem attr_reader :title, :artist, :year def initialize(title, artist, year) @title = title @artist= artist @year = year end #find out which indexes are going to be applied for a data object for node. def findIndex return ["title", "artist", "year", "creator"] end def to_s "Album: title='#{title}' artist=#{artist} year=#{year}" end end class Book < LibraryItem attr_reader :title, :author, :year, :page def initialize(title, author, year, page) @title = title @author = author @year = year @page = page end #find out which indexes are going to be applied for a data object for node. def findIndex return ["title", "author", "year", "page"] end def to_s "Book: title='#{title}' author=#{author} year=#{year} page=#{page}" end end class ThreadedList class Node attr_reader :data, :next, :nextPtrs attr_writer :nextPtrs, :next def initialize(data, nextNode) @data = data @nextPtrs = {} @next = nextNode end end def initialize() @head = nil @threadHeads = {"director", "title", "author", "year", "page", "artist", "star", "creator"} end end def add(item) #add to main list itemNode = Node.new(item, @head) @head = itemNode # find out the indexes of the item, and if it does not have a method to find indexes, print an error message. if item.findIndex.respond_to? "index" index = item.findIndex else puts "Unable to add an item" 0.upto(info.size - 1) do |i| item.nextPtrs[index[i]] = nil end #add to threads itemNode.nextPtrs.keys.each do |i| current = @threadHeads[i] # if there is nothing in the thread heads, set item to the thread heads. if current.nil? @threadHeads[i] = itemNode # else, if the value of the item is bigger than the item to be inserted, set the pointers before heads. else if current.data.send(i) > item.send(i) itemNode.nextPtrs[i] = @threadHeads[i] @threadHeads[i] = itemNode # otherwise, loop through the list to see where it should be inserted at. else while !(current.nextPtrs[i]).nil? || current.nextPtrs[i].data.send(i) > item.send(i) current = current.nextPtrs[i] end # if current is nil at this point, add it at the end. if current.nextPtrs[i].nil? current.nextPtrs[i] = itemNode # else, add it at the right position. else itemNode.nextPtrs[i] = current.nextPtrs[i] current.nextPtrs[i] = itemNode end end end end end # print out the original list as it was inserted in order of file reading. def print current = @head while !current.nil? puts current.data.to_s current = current.next end end # loop through the hash table of the thread heads and print each out. def printList @threadHeads.keys.each do |i| current = @threadHeads[i] while current != nil? current = current.nextPtrs[i] end end end end token = [] # make the threaded list and do file reading. list = ThreadedList.new file = File.open("a4q1.txt") file.each do |line| token = line.split(/,/) # if the data input is an album, tokenize it and add it to the list. if token[0] == "Album" album = Album.new(token[1], token[2], token[3]) list.add(album) # if the data input is a moive, tokenize it and add it to the list. elsif token[0] == "Movie" if token.size == 4 movie = Movie.new(token[1], token[2], token[3]) else movie = Movie.new(token[1], token[2], token[3], token[4]) list.add(movie) end # in other cases, the data will be a book. else book = Book.new(token[1], token[2], token[3], token[4]) list.add(book) end end file.close puts "** Original Data:" list.print() puts "** List:" list.printList() puts "** Making modifications:" list.add("Ruby") puts "** Final Result:" list.printList() -- Posted via http://www.ruby-forum.com/. From dsyzling at gmail.com Mon Jul 27 10:38:20 2009 From: dsyzling at gmail.com (Darren Syzling) Date: Mon, 27 Jul 2009 15:38:20 +0100 Subject: [Mongrel] mongrel_service on Win2003 Message-ID: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> I'm trying to run mongrel_service for a small rails app under Win 2003. I have installed the service and can run with the default local system account fine. However once I change the account to a new custom service account I cannot start the service. Nothing is being logged, in the event log or any of the mongrel logs. The -B switch doesn't create any debug logs. I know this is going to be a Windows permission that hasn't been granted it's just how to track it down? What does work: - local system - Log in as my admin account, use runas to run a command prompt as my new service user - then copy the mongrel_service path/paramters from the registry and run as is (modified as mongrel_rails) - this works fine. Initially I had a warning about the ./log directory but once granted full control all seems fine. - The service account is marked with run as service, ./log and ./tmp have been updated to allow full control for the service account, the account is also a member of the users group (which inherits some default file system ACLs). Note some of these I would not normally do for a least priv account but just to document what I've tried. - Adding administrators group to the service account - of course seems to clear the problem. Anything else I can check? Ruby version is 1.8.6 patch level 111 on Win32 Mongrel service 0.3.4 From luislavena at gmail.com Mon Jul 27 12:11:40 2009 From: luislavena at gmail.com (Luis Lavena) Date: Mon, 27 Jul 2009 13:11:40 -0300 Subject: [Mongrel] mongrel_service on Win2003 In-Reply-To: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> References: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> Message-ID: <71166b3b0907270911y7be66394tf4170d3a7572ee76@mail.gmail.com> On Mon, Jul 27, 2009 at 11:38 AM, Darren Syzling wrote: > I'm trying to run mongrel_service for a small rails app under Win > 2003. I have installed the service and can run with the default local > system account fine. However once I change the account to a new custom > service account I cannot start the service. Nothing is being logged, > in the event log or any of the mongrel logs. The -B switch doesn't > create any debug logs. > > I know this is going to be a Windows permission that hasn't been > granted it's just how to track it down? > > What does work: > - local system > - Log in as my admin account, use runas to run a command prompt as my > new service user - then copy the mongrel_service path/paramters from > the registry and run as is (modified as mongrel_rails) - this works > fine. Initially I had a warning about the ./log directory but once > granted full control all seems fine. > - The service account is marked with run as service, ./log and ./tmp > have been updated to allow full control for the service account, the > account is also a member of the users group (which inherits some > default file system ACLs). Note some of these I would not normally do > for a least priv account but just to document what I've tried. > - Adding administrators group to the service account - of course seems > to clear the problem. > > Anything else I can check? > Check mongrel_service.log inside ruby/bin folder. With the information stored there I would be able to help you better. -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry From dsyzling at gmail.com Mon Jul 27 15:22:24 2009 From: dsyzling at gmail.com (Darren Syzling) Date: Mon, 27 Jul 2009 20:22:24 +0100 Subject: [Mongrel] mongrel_service on Win2003 In-Reply-To: <71166b3b0907270911y7be66394tf4170d3a7572ee76@mail.gmail.com> References: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> <71166b3b0907270911y7be66394tf4170d3a7572ee76@mail.gmail.com> Message-ID: <4A6DFE70.6050309@gmail.com> Luis Lavena wrote: > > Check mongrel_service.log inside ruby/bin folder. > > With the information stored there I would be able to help you better. > > The mongrel_service.log is empty. I've granted full control on the log file for the service user in question in case this is an file ACL issue, but nothing being logged. Thanks Darren From luislavena at gmail.com Mon Jul 27 17:43:22 2009 From: luislavena at gmail.com (Luis Lavena) Date: Mon, 27 Jul 2009 18:43:22 -0300 Subject: [Mongrel] mongrel_service on Win2003 In-Reply-To: <4A6DFE70.6050309@gmail.com> References: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> <71166b3b0907270911y7be66394tf4170d3a7572ee76@mail.gmail.com> <4A6DFE70.6050309@gmail.com> Message-ID: <71166b3b0907271443l77cda66dweae735d279f0d881@mail.gmail.com> On Mon, Jul 27, 2009 at 4:22 PM, Darren Syzling wrote: > Luis Lavena wrote: >> >> Check mongrel_service.log inside ruby/bin folder. >> >> With the information stored there I would be able to help you better. >> >> > > The mongrel_service.log is empty. I've granted full control on the log file > for the service user in question in case this is an file ACL issue, but > nothing being logged. > Ok, that means we are going to go over the runas console debug mode. I'm going to remove the dust my instructions on this: http://rubyforge.org/pipermail/mongrel-users/2008-October/005587.html And pointing to the "guide to debug mongrel_service" http://rubyforge.org/pipermail/mongrel-users/2008-October/005588.html Which links here: http://rubyforge.org/pipermail/mongrel-users/2007-February/003004.html Please let me know if these instructions are not easy to follow, but everything is there to debug the issue. Cheers, -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup?ry From dsyzling at gmail.com Tue Jul 28 04:32:49 2009 From: dsyzling at gmail.com (Darren Syzling) Date: Tue, 28 Jul 2009 09:32:49 +0100 Subject: [Mongrel] mongrel_service on Win2003 In-Reply-To: <71166b3b0907271443l77cda66dweae735d279f0d881@mail.gmail.com> References: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> <71166b3b0907270911y7be66394tf4170d3a7572ee76@mail.gmail.com> <4A6DFE70.6050309@gmail.com> <71166b3b0907271443l77cda66dweae735d279f0d881@mail.gmail.com> Message-ID: <82abf2570907280132l5d68751au5f7a948c2c5cde93@mail.gmail.com> 2009/7/27 Luis Lavena : > Ok, that means we are going to go over the runas console debug mode. > > I'm going to remove the dust my instructions on this: > > http://rubyforge.org/pipermail/mongrel-users/2008-October/005587.html > > And pointing to the "guide to debug mongrel_service" > > http://rubyforge.org/pipermail/mongrel-users/2008-October/005588.html > > Which links here: > > http://rubyforge.org/pipermail/mongrel-users/2007-February/003004.html > > Please let me know if these instructions are not easy to follow, but > everything is there to debug the issue. > Luis, thanks for your help the instructions are fine, but I'm still not getting to the root of the issue. I understand this is extremely difficult for you to diagnose. I've wrestled with these least privilege accounts in the past so I'm aware of the kind of issues that cause apps to fail. Typically I run service accounts with deny local logon and exclude membership from Users - you'll be surprised the amount of privs that are granted (especially ACLs) on User group membership. Anyway in this case this is a straight user so this shouldn't be the cause of the issue. So I temporarily added my service account to the 'remote desktop users' group so I could logon remotely as that user (I've also done this from my admin account using runas /user:xxx - but I'm checking all avenues here). Started a console and copied the service executable string for my mongrel_rails service to the console (adjusted to run as a console app) and run as: mongrel_service console single -e development -p 58025 -a 0.0.0.0 -l "log/mongrel.log" \ -P "log/mongrel.pid" -c "" -t 0 -r "public" -n 1024 This works fine - I can connect via port 58025 from my remote browser and the app works fine. Service string in the registry is: "c:/ruby/bin/mongrel_service.exe" single -e development -p 58025 -a 0.0.0.0 -l "log/mongrel.log" -P "log/mongrel.pid" -c "" -t 0 -r "public" -n 1024 However as soon as I attempt to start from the service manager mongrel_service starts and then immediately terminates. No log messages. So I ran up Procmon and tried starting the service to see if I can see any obvious file ACL failures. Again nothing obvious, I can see mongrel_service starting, I can see a set of activity, some registry reads, I don't see any attempt to open the mongrel log file in ruby\bin as I do when it works as a member of the admin group. I then see the process exit (no obvious errors before this) and the service account's profile unloads. I thought there might be permission issues on registry keys, but most keys in the registry (and service tree) have permissions set for the Users group, so if my account is a member of this it shouldn't need anything else. There doesn't seem to be any issues in the event log, the security event log shows success audits for authentication - the account logging in with auth type 5. I tried granting impersonate rights to the service account - I really doubt this is needed, but some ASP.NET accounts have this - probably more for windows integrated authentication then service based access. But this still failed. Clearly I'm missing something and mongrel_service is encountering some lack of permission since as I said adding the service account to the administrators group the app works fine. Is our server tied down - yes could be pretty tightly, ipsec rules etc. It does have Kaspersky. I may have to grab the code for mongrel_service and attempt to instrument it to see how far it gets. Unless there's any further debugging steps I can try? Thanks Darren From dsyzling at gmail.com Wed Jul 29 12:03:56 2009 From: dsyzling at gmail.com (Darren Syzling) Date: Wed, 29 Jul 2009 17:03:56 +0100 Subject: [Mongrel] mongrel_service on Win2003 In-Reply-To: <82abf2570907280132l5d68751au5f7a948c2c5cde93@mail.gmail.com> References: <82abf2570907270738n783a6b51v8e46dc8c9b7530d1@mail.gmail.com> <71166b3b0907270911y7be66394tf4170d3a7572ee76@mail.gmail.com> <4A6DFE70.6050309@gmail.com> <71166b3b0907271443l77cda66dweae735d279f0d881@mail.gmail.com> <82abf2570907280132l5d68751au5f7a948c2c5cde93@mail.gmail.com> Message-ID: <82abf2570907290903p1bf514aalef6da4b36bbcaaf3@mail.gmail.com> 2009/7/28 Darren Syzling : > > Clearly I'm missing something and mongrel_service is encountering some > lack of permission since as I said adding the service account to the > administrators group the app works fine. > > Is our server tied down - yes could be pretty tightly, ipsec rules > etc. It does have Kaspersky. I may have to grab the code for > mongrel_service and attempt to instrument it to see how far it gets. > > Unless there's any further debugging steps I can try? > > Thanks > Darren > After posting yesterday I also came across this thread which looks very similar to the situation I'm encountering: http://www.ruby-forum.com/topic/155315. I wonder if this was issue was resolved? Regards Darren