From: Steve L. <st...@si...> - 2001-02-10 20:04:29
|
Folks, I thought I'd try installing bender 1.1.3 today, seeing it available on sourceforge. I'm at a stuck point where apache segfaults when I try to access the site, so if anybody has any ideas or suggestions, I'd be happy to try them. I'll spill out the relevant detail here as it occurs to me, probably a little haphazardly. This could also be useful for documentation writers, as this is my first exposure to bender (and I'm far from a slash expert at this point, although I plan to become one. :) ================== I'm running RH 6.2, kernel 2.2.14, Apache 1.3.14, MySQL 3.23 (fresh install), and the same apache configurations that worked for slash 1.0.9. My slash 1.0.9 setup on this box worked just fine until I took it down this morning. I reinstalled Bundle::Slash, which reported everything as fine. I installed Template from the CPAN shell, which appeared not to be installed as part of Bundle::Slash for some reason. I created a virtual user for DBIx::Password as the instructions specified; it all appeared to go fine. It seems that the PREFIX and INIT settings for the make command don't reach everywhere they need to; I noticed that the slashd and bin/install-slashsite scripts (at least) had /usr/local/slash as their default directories even though I specified /home/slash for "make" and "make install", so I corrected these by hand. There may be other incorrect paths lurking, I haven't gone through every file in the system yet. (As part of upgrading to mysql 3.23, I had to rebuild mod_auth_mysql and run ldconfig again. That stuff seems to be working fine, although it's not directly related.) I assume that slashd is meant to be running as it was before, although the install docs don't explicitly mention it. There seem to be two: the slashd in /INIT (/etc/rc.d/init.d/ for me), and the slashd in sbin/ (the install doc mentions util/slashd, but there's no util directory), which appear different; I tried both (the sbin/ version takes the virtual user as an argument); both appear to quit shortly after launch. Through a lot of trial and error (commenting out lines in the config), I found that apache segfaults if the line PerlAccessHandler Slash::Apache::User::handler is uncommented in the site .conf file. If I comment it out, I can use a different document root and the server works, but if it's uncommented, apache segfaults as soon as the domain is hit. I don't really know where to begin looking for additional clues. There's nothing helpful in the error log. I think the most important piece of information I had is that as I mentioned before, my machine and its setup worked fine for slash 1.0.9, so that might narrow down the range of things that could be wrong. ============== Any suggestions for what I might do, or where I might start, to look for solutions or fix the problem? Cheers, Steve Linberg -- Steve Linberg, Chief Goblin Silicon Goblin Technologies http://silicongoblin.com Be kind. Remember, everyone you meet is fighting a hard battle. |
From: Brian A. <br...@ta...> - 2001-02-10 20:42:42
|
Steve Linberg wrote: > > Folks, > > I thought I'd try installing bender 1.1.3 today, seeing it available on > sourceforge. I'm at a stuck point where apache segfaults when I try to > access the site, so if anybody has any ideas or suggestions, I'd be happy What does httpd -l report? What version of mod_perl are you using? -Brian |
From: Steve L. <st...@si...> - 2001-02-10 20:57:19
|
On Sat, 10 Feb 2001, Brian Aker wrote: > What does httpd -l report? What version of mod_perl are you using? Hi Brian, thanks for the response. I'm running mod_perl 1.24_01, and here's httpd -l: [root@shagrat slash]# httpd -l Compiled-in modules: http_core.c mod_env.c mod_log_config.c mod_log_agent.c mod_log_referer.c mod_mime.c mod_negotiation.c mod_status.c mod_info.c mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_asis.c mod_imap.c mod_actions.c mod_speling.c mod_userdir.c mod_alias.c mod_rewrite.c mod_access.c mod_auth.c mod_proxy.c mod_expires.c mod_usertrack.c mod_unique_id.c mod_so.c mod_setenvif.c mod_perl.c suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec -- Steve Linberg, Chief Goblin Silicon Goblin Technologies http://silicongoblin.com Be kind. Remember, everyone you meet is fighting a hard battle. |
From: Brian A. <br...@ta...> - 2001-02-11 02:33:06
|
Ok, are you adding in any modules dynamically? Say PHP or any mysql ones? -Brian |
From: Steve L. <st...@si...> - 2001-02-11 03:40:40
|
On Sat, 10 Feb 2001, Brian Aker wrote: > Ok, are you adding in any modules dynamically? Say PHP > or any mysql ones? Yes, three: LoadModule dav_module libexec/libdav.so LoadModule mysql_auth_module libexec/mod_auth_mysql.so LoadModule throttle_module libexec/mod_throttle.so ...but as far as I can tell, they worked fine with slash 1.0.9. Is there an issue with dynamically loaded modules that I should be aware of? I think maybe what I should do next is: - rebuild apache with 1.3.17, all the latest stuff. This doesn't thrill me, but I know I have to do it evenutually. I've been roughly following the apache recipe at <http://www.delouw.ch/linux/apache.phtml>, through step 6 or so (plus mod_auth_mysql). I'd been avoiding PHP because of PHP/mod_perl conflicts, but I understand those are resolved now, so I might try adding it back in. - go through the include list and be sure that the latest versions of the various Perl modules are really there. This is a longshot, but I know that the various XML modules and expat libraries have caused me a *lot* of problems on other machines and installs; XML::Parser 2.30 introduced the use of the external expat library, and when I used it with mod_perl I had no end of trouble. I had to back down to 2.28 to keep things stable, but apache would segfault rather randomly untli I did that, and that's what I attributed it to. The documentation I could find on that was pretty sketchy, but it appeared to be a mod_perl/expat conflict of some sort. Maybe it's better now? Is there anything else I can do on this build to help figure out what's going wrong? Would running a trace on apache do it? The segfault is easily reproducible in this case - load the page with the user handler active and it segfaults. I did an apache trace once before, but I'd have to see if I can remember how to do it - I'm not an apache/kernel hacker. But if it would help, I'm happy to do it. - Steve -- Steve Linberg, Chief Goblin Silicon Goblin Technologies http://silicongoblin.com Be kind. Remember, everyone you meet is fighting a hard battle. |
From: Brian A. <br...@ta...> - 2001-02-11 17:03:57
|
Steve Linberg wrote: > Is there anything else I can do on this build to help figure out what's > going wrong? Would running a trace on apache do it? The segfault is > easily reproducible in this case - load the page with the user handler > active and it segfaults. I did an apache trace once before, but I'd have > to see if I can remember how to do it - I'm not an apache/kernel > hacker. But if it would help, I'm happy to do it. Here are a couple of ideas for you: 1) Recompile apache without expat. 2) Add this to you httpd.conf: LoadFile /usr/lib/libmysqlclient.so.6.0.0 Make sure you use the right library on your machine 3) Try compiling all modules statically. I'm not that familiar with the source to either dav or the one auth module so I don't know if there are any know issues with them. -Brian -- _______________________________________________________ Brian Aker, br...@ta... Slashdot Senior Developer Seattle, Washington http://tangent.org/~brian/ http://slashdot.org/ _______________________________________________________ You can't grep a dead tree. |
From: Steve L. <st...@si...> - 2001-02-11 18:21:49
|
On Sat, 10 Feb 2001, Brian Aker wrote: > 1) Recompile apache without expat. Here's a question about this: OK, if you add RULE_EXPAT=no to the apache ./configure stage, it turns off the expat build. But according to <http://axkit.org/faq.xml>, this shouldn't be necessary because building mod_perl with DO_HTTPD=1 passes that setting to the apache build. I folloed those instructions, and yet it does appear that my apache 1.3.14 has the XML stuff in it (according to strings) anyway. I'll specify it to be safe, but I'm just wondering if anybody knows why the expat stuff is built into apache if mod_perl is really supposed to suppress it. I'm gearing up for the rebuild. Urg. -- Steve Linberg, Chief Goblin Silicon Goblin Technologies http://silicongoblin.com Be kind. Remember, everyone you meet is fighting a hard battle. |
From: Brian A. <br...@ta...> - 2001-02-11 22:33:57
|
BTW, did you happen to try the Loadfile directive? Did that help at all? -Brian |
From: Steve L. <st...@si...> - 2001-02-11 23:41:36
|
On Sun, 11 Feb 2001, Brian Aker wrote: > BTW, did you happen to try the Loadfile directive? I did try it; it didn't seem to help. I just got through a grueling rebuild, and it still doesn't work. I'm now running apache 1.3.17, mod_perl 1.25. When I include the slash.conf file, apache doesn't even start, and there's no message in the log. Or, rather, it starts, gives the "rebuilt at" message, and then quietly dies without anything in the logs. Couple questions: - Which version of slashd needs to be running, and how should it be launched? - How do you build apache without expat? I tried the RULE_EXPAT=no option, but the configure script didn't recognize it. - Should I need to re-make slash following the server rebuild? I haven't so far, because I couldn't see how it would be related to the apache build. I did build my other modules as dynamically loadable; I'd rather not build them as static, mainly because I don't know how to and this is a live server that I can't really be messing with too much. I have paying clients. I just want to get slash working if I can. Any other thoughts or suggestions? -- Steve Linberg, Chief Goblin Silicon Goblin Technologies http://silicongoblin.com Be kind. Remember, everyone you meet is fighting a hard battle. |
From: Chris N. <pu...@po...> - 2001-02-12 14:24:39
|
At 18:42 -0500 02.11.2001, Steve Linberg wrote: >- Which version of slashd needs to be running, and how should it be >launched? The one that came with the Bender you are running. :) And it doesn't matter, anyway, since it is independent of the mod_perl stuff. Best to leave slashd off while you are working on this. >- Should I need to re-make slash following the server rebuild? I haven't >so far, because I couldn't see how it would be related to the apache >build. You should not need to, but I do wonder if you might have some modules not in the right place, or maybe have the old Slash.pm lying around somewhere. Just some random thoughts. -- Chris Nandor pu...@po... http://pudge.net/ Open Source Development Network pu...@os... http://osdn.com/ |
From: Steve L. <st...@si...> - 2001-02-12 23:31:22
|
On Mon, 12 Feb 2001, Chris Nandor wrote: > >- Should I need to re-make slash following the server rebuild? I haven't > >so far, because I couldn't see how it would be related to the apache > >build. > > You should not need to, but I do wonder if you might have some modules not > in the right place, or maybe have the old Slash.pm lying around somewhere. I did find a couple of old Slash.pm's around, although I don't think they were in any path that could have conflicted. I renamed them just in case, but the crash still happens. Should I remove the directory containing my old slash 1.0.9 install? (I'd prefer not to if it's not necessary.) I did an strace of Apache crashing with the slash startup enabled; I'm venturing into unknown territory for myself here. It's monstrously long; the last thing that happens before the segfault is this: read(4, "##\n## access.conf -- Apache HTTP"..., 4096) = 348 read(4, "", 4096) = 0 close(4) = 0 munmap(0x402b3000, 4096) = 0 --- SIGSEGV (Segmentation fault) --- +++ killed by SIGSEGV +++ I posted the whole transcript (about 300k), in case anyone has a second to peek at it and is feeling charitble, at: <http://silicongoblin.com/apache-strace.txt> (or a 39k gzip version at <http://silicongoblin.com/apache-strace.gz>) Finally, I followed the apache recipe at <http://www.delouw.ch/linux/apache.phtml> pretty closely, adding PERL_MARK_WHERE=1 to the mod_perl configuration as per the Slash install instructions. I did this for Slash 1.0.9 as well and it worked fine. I'm pretty stuck at this point; any suggestions would be very, very welcome. I want to start writing some tutorial documentation as well, or at least seed some with answers to my own FAQs. Any clues that help me progress will go in, of course. Cheers! -- Steve Linberg, Chief Goblin Silicon Goblin Technologies http://silicongoblin.com Be kind. Remember, everyone you meet is fighting a hard battle. |