Troubles getting Merb 1.1.0.pre + DM 0.10.2 + Ruby 1.9.1p376 (via Macports) on Mac OS X functioning

4 views
Skip to first unread message

ddellacosta

unread,
Dec 22, 2009, 3:46:21 PM12/22/09
to merb
Hi folks,

I've been having trouble with this combination. At first I thought it
was the fault of something in my old app and other gems I'm bundling
in (I am using the new Bundler too, btw, v. 0.7.2), but I generated a
new app using merb-gen w/a fresh Gemfile and config and whatnot,
generated a really basic resource, and then tried running merb
and...got problems. The basic symptoms are this.

When I *didn't* have methopara bundled in the Gemfile (note, I do
*not* have it installed system-wide, just bundled in), merb-action-
args seemed to not exist, and any time I'd hit a controller with
parameters Merb would complain with some about the wrong
arguments...this makes sense I guess.

Now that I *do* have methopara bundled in, Merb just hangs when I hit
a page...any page. The browser spins its gears, Merb log sits on the
"Params:" line. Interesting huh?

So, did I miss something in all the group posts/wiki/etc. that has
been flying by in the last few months? Any help greatly
appreciated...thanks!

Best,
Dave

Jon Hancock

unread,
Dec 22, 2009, 8:43:14 PM12/22/09
to merb
Exactly what I'm experiencing as of 12 hours ago. Also on OS X... I
compiled ruby-191-p376 from source, updated gems and installed all
dependent gems...then built merb gems from git master. Same results
as you describe (I'm using thin, not mongrel). I'm not using
bundler. Its there, but the app runs on system installed gems. I
have a working stack using ruby-191-p243 and a merb 1.1 edge build
from a few months back and all works well.
Any ideas?? This appears really busted at the moment.
thanks, Jon

ddellacosta

unread,
Dec 28, 2009, 9:43:38 AM12/28/09
to merb
Hey Jon, just back from holiday break...looks like everyone else is on
a similar schedule.

I'm going to keep poking at this today and will report any
discoveries. If anyone has any clues, help would be greatly
appreciated...

Best,
Dave

Jon Hancock

unread,
Dec 28, 2009, 10:26:13 AM12/28/09
to merb
Dave, I just starting looking at it again this morning. I have yet to
come up with a debugging strategy.

For others reading, here's how broken merb-edge is:

Install merb from git as outlined in http://wiki.github.com/merb/merb/howto-install
under section "clone and install"
After you've installed these gems, create a fresh merb app: merb-gen
app merb_test
edit router.rb to include something like: match('/').to(:controller =>
'application', :action =>'index')
add index method to application.rb to render "hello world"
start merb: merb -a thin
no complaints from merb. looks like its up.
navigate to http://localhost:4000 NOTHING.
the merb process handles the route and then renders absolutely
nothing. It looks like the merb process locks up after the first
request as subsequent requests do not even log routing info.

If this can't be fixed soon, can someone recommend a git commit id
that seems to be both fairly recent and actually works. For my
current app, I am not using an ORM and don't use the auth slice.

thanks, Jon

ddellacosta

unread,
Dec 28, 2009, 12:27:48 PM12/28/09
to merb
Jon, I don't think this is a Merb issue at all, but rather a
(Macports) Ruby or methopara problem.

I traced the issue to merb-action-args:

#1:/private/var/dev/wtf/gems/gems/merb-action-args-1.1.0.pre/lib/merb-
action-args/vm_args.rb:21:GetArgs:-: parameters.each do |(type,
name)|

This is where it hangs. So, I tried writing a simple test script with
methopara to see if I could get it to work, and:

test.rb:12: [BUG] Bus Error
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin9]

-- control frame ----------
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC :parameters
c:0003 p:0047 s:0007 b:0006 l:001b04 d:0007f4 EVAL test.rb:12
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001b04 d:001b04 TOP
---------------------------
-- Ruby level backtrace
information-----------------------------------------
test.rb:12:in `parameters'
test.rb:12:in `<main>'

-- C level backtrace information
-------------------------------------------
0x2fd582 0 libruby1.9.dylib 0x002fd582
rb_vm_bugreport + 82
0x21111c 1 libruby1.9.dylib 0x0021111c rb_warning
+ 444

<snip>

...etc.

I had it inside test/unit but then simplified it to:

require 'methopara'
def foo(a) end
p method(:foo).parameters

...and that's enough to get the error output above on my system (it's
the same with test/unit). As soon as the parameters method is called,
it melts down.

I'm not very familiar with writing Ruby extensions, so I'm not sure if
this is in methopara or the Mac OS X macports ruby, but I'm going to
try a few things and will report back...

Best,
Dave


On 12月28日, 午前10:26, Jon Hancock <shellsha...@gmail.com> wrote:
> Dave, I just starting looking at it again this morning.  I have yet to
> come up with a debugging strategy.
>
> For others reading, here's how broken merb-edge is:
>

> Install merb from git as outlined inhttp://wiki.github.com/merb/merb/howto-install


> under section "clone and install"
> After you've installed these gems, create a fresh merb app:  merb-gen
> app merb_test
> edit router.rb to include something like: match('/').to(:controller =>
> 'application', :action =>'index')
> add index method to application.rb to render "hello world"
> start merb:  merb -a thin
> no complaints from merb.  looks like its up.

> navigate tohttp://localhost:4000   NOTHING.

Jon Hancock

unread,
Dec 28, 2009, 12:31:38 PM12/28/09
to merb
glad your finding something. I compiled ruby from source, not mac
ports, and as far as I can tell, I'm getting the same error as you.

~ jon

ddellacosta

unread,
Dec 28, 2009, 4:05:33 PM12/28/09
to merb
Oh, I missed that you compiled it yourself, I see now you said that
above. So, maybe this is just an issue with methopara and how it
interacts with Ruby 1.9.1-p376.

In any case, I've reached the limits of my (interest in developing my)
expertise in debugging Ruby C extension code, and I've emailed the
author of methopara. I'll post a bug to the ruby-lang.org site
depending on how he responds.

As a workaround, I've done something similar to you in that I'm just
using the last Ruby 1.9.1 release, p243. However, I used macports to
install this too. For anyone using macports who wants to give it a
shot, this was a handy tutorial which worked perfectly well:

http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ports-using-macports/

The older portfile can be found here (rev 57375, which is all you need
with the above method actually):
http://trac.macports.org/browser/trunk/dports/lang/ruby19/Portfile?rev=57375

Since Ruby 1.9.2 has the Method#parameter method built-in, perhaps
this won't be an issue soon...

Best,
Dave

ddellacosta

unread,
Dec 28, 2009, 4:07:35 PM12/28/09
to merb
Oh, and just to confirm, the same exact configuration that I
originally posted about (Merb 1.1.0.pre + DM 0.10.2) but with Ruby
1.9.1 p243 seems to work fine (so far!), with none of the hanging I
experienced before.

Best,
Dave


On 12月28日, 午後4:05, ddellacosta <ddellaco...@gmail.com> wrote:
> Oh, I missed that you compiled it yourself, I see now you said that
> above.  So, maybe this is just an issue with methopara and how it
> interacts with Ruby 1.9.1-p376.
>
> In any case, I've reached the limits of my (interest in developing my)
> expertise in debugging Ruby C extension code, and I've emailed the
> author of methopara.  I'll post a bug to the ruby-lang.org site
> depending on how he responds.
>
> As a workaround, I've done something similar to you in that I'm just
> using the last Ruby 1.9.1 release, p243.  However, I used macports to
> install this too.  For anyone using macports who wants to give it a
> shot, this was a handy tutorial which worked perfectly well:
>

> http://journal.bitshaker.com/articles/2007/10/20/install-old-versions...


>
> The older portfile can be found here (rev 57375, which is all you need

> with the above method actually):http://trac.macports.org/browser/trunk/dports/lang/ruby19/Portfile?re...

Jon Hancock

unread,
Dec 29, 2009, 12:44:49 PM12/29/09
to merb
Dave,
I'm trying with ruby-191-p243 today but getting a different error from
the bundler.
Can you post the git commit id you've built merb from? HEAD is not
working for me.
Also, are you using bundled gems or system installed gems?
thanks, Jon
Reply all
Reply to author
Forward
0 new messages