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
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
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
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
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
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...