Hi all,
I am trying to update my application to use the newest RedCloth (3.274).
To do so, I have to compile it on one machine and then copy it over to
the server. This has worked fine in the past, but with the latest
RedCloth I’m getting a floating point exception and it crashes.
Any advice on how to proceed/debug/figure out what’s going wrong?
Thanks,
Justin
Justin, did you get your problem figured out? Is this how you always
deploy compiled things? What platform/architecture is the machine
you’re compiling on and what is the server?
Hi Jason,
No, I did not figure it out. Since it looks like Redcloth is still in
flux, I thought maybe it is better to wait. However, I’m still open to
suggestions! I’m not really familiar with troubleshooting this kind of
problem.
I have used the exact same method to get eruby and an older version of
SuperRedCloth onto the server. It’s shared hosting, so while I can run
gcc, I get strange out of memory errors, making compiling on the server
not an option.
Both the machines are running x86 Linux. The 3.274 version of
SuperRedCloth is working fine on the server.
Thanks,
Justin
Ooh. Shared hosting. I did that once.
Who’s the host? We might see if we can get them to compile it for
us. They’ll certainly want to have RedCloth installed after we
release, so perhaps they’d be willing to test it now. Tell me who
and I’ll email them.
Thanks,
Jason
The provider is Site5: www.site5.com
I’m guessing that large C file Ragel generates is partly the issue here
(It’s about a Mb in size). I seem to recall someone else a while back
saying they had similar errors due to stack space or memory at
http://rubyforge.org/pipermail/redcloth-upwards/2008-March/000190.html I
know the -O0 patch was supposed to prevent this to some degree.
I’m wondering if there is an ability to break down the Ragel generated
code over several source files. While I’m not a C expert, I’m sure it
would be better in the long run than using -O0, and would make compiling
a lot less painful for those with limited memory / CPU and to me using
specific compiler flags does feel a tad hacky.
I don’t know what the memory usage is like on compiling, but I can only
think a lot of the people who are using cheapy low end VPS’s (Like I
used to) would have issues if they only have 96-128Mb and a small swap
partition (I’ve noticed VPS’s seem to allocate swap space proportional
to RAM, and not everyone will be wise enough to realise it’s possible to
extend the swap space by using a swap file over a loop-back block
device, or cross compile etc)
These are just some gut feelings I have at the moment regarding
compiling. Like I say though, I’m not an expert with C, so my suggestion
probably needs to be taken with a large pinch of salt, not to mention
I’m guessing in somewhat what I’ve said might have crossed your minds
too.
Jase