Sunday, August 04, 2024
Fixing the final errors from my Apache setup
Shortly after my last post, I noticed more errors happening with the web server:
[Tue Jul 30 10:43:00.768556 2024] [cgid:error] [pid 1706:tid 4149532352] (12)Cannot allocate memory: AH01252: couldn't create child process: 12: boston.cgi [Tue Jul 30 10:43:00.768714 2024] [cgid:error] [pid 1869:tid 3908467632] [client 178.128.207.138:57024] End of script output before headers: boston.cgi [Tue Jul 30 10:43:01.137027 2024] [cgid:error] [pid 1706:tid 4149532352] (12)Cannot allocate memory: AH01252: couldn't create child process: 12: boston.cgi [Tue Jul 30 10:43:01.137173 2024] [cgid:error] [pid 1707:tid 3774184368] [client 178.128.207.138:57034] End of script output before headers: boston.cgi
I found one potential fix for this—just set the default stack size of Apache to 512k in size
(just 512k—sheesh I'm old).
That was simply adding ulimit -s 512
to the startup script,
but that still wasn't the full answer:
[Tue Jul 30 22:37:33.042327 2024] [mpm_worker:alert] [pid 5599:tid 3924880304] (12)Cannot allocate memory: AH03142: ap_thread_create: unable to create worker thread [Tue Jul 30 22:37:35.045085 2024] [mpm_worker:alert] [pid 5672:tid 3924880304] (12)Cannot allocate memory: AH03142: ap_thread_create: unable to create worker thread [Tue Jul 30 22:38:38.108993 2024] [mpm_worker:alert] [pid 6091:tid 3924880304] (12)Cannot allocate memory: AH03142: ap_thread_create: unable to create worker thread [Tue Jul 30 22:38:40.112150 2024] [mpm_worker:alert] [pid 6161:tid 3924880304] (12)Cannot allocate memory: AH03142: ap_thread_create: unable to create worker thread [Tue Jul 30 22:38:42.114553 2024] [mpm_worker:alert] [pid 6229:tid 3924880304] (12)Cannot allocate memory: AH03142: ap_thread_create: unable to create worker thread [Tue Jul 30 22:38:44.117182 2024] [mpm_worker:alert] [pid 6304:tid 3924880304] (12)Cannot allocate memory: AH03142: ap_thread_create: unable to create worker thread
I ended up having a little bit of back-and-forth with the settings of the VM that runs my server, alllowing a bit more memory than it was configured for. And since then, no more such errors in the error log. All that's now showing up is crap like:
[Sun Aug 04 15:58:49.248654 2024] [core:error] [pid 872:tid 4129409968] [client XXXXXXXXXXXXXXX:59190] AH10244: invalid URI path (/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh) [Sun Aug 04 15:58:51.854583 2024] [core:error] [pid 2444:tid 4120341424] [client XXXXXXXXXXXXXXX:59760] AH10244: invalid URI path (/cgi-bin/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/bin/sh)
and notifiations about secure certificate rotatations. Another interesting thing I noticed is the accumulated CPU time over the past few days:
[spc]brevard:~>ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ... root 868 0.0 0.1 26760 24652 ? Ss Aug01 0:12 /usr/local/apache2/bin/httpd apache 871 0.0 0.1 26188 20876 ? S Aug01 0:35 /usr/local/apache2/bin/httpd apache 872 0.0 0.2 64532 34184 ? Sl Aug01 5:09 /usr/local/apache2/bin/httpd apache 873 0.0 0.1 61060 32152 ? Sl Aug01 4:59 /usr/local/apache2/bin/httpd apache 875 0.0 0.1 62516 31460 ? Sl Aug01 5:01 /usr/local/apache2/bin/httpd apache 1035 0.0 0.1 61716 32148 ? Sl Aug01 5:03 /usr/local/apache2/bin/httpd apache 2444 0.0 0.1 61500 32160 ? Sl Aug01 4:45 /usr/local/apache2/bin/httpd ... gopher 1231 0.0 0.0 10708 9596 ttyp4 S+ Aug01 0:33 lua port70.lua /home/spc/gopher/config.lua spc 1232 0.1 0.0 13600 12140 ttyp5 S+ Aug01 6:51 lua GLV-1.12556.lua non-checkin/conf.lua ... [spc]brevard:~>
I've included the lines for my gopher and Gemini servers just for comparison. Apache is accumulating a bit more CPU time than I expected, but when thinking about it, it's not so strange. Not only is it running TLS (like the Gemini sever) but it's also supports the HTTP/2.0 protocol, which is a bit more involved than the simpler HTTP/1.x protocol.
Roasting and praising Github repos (note: praising, not braising)
I came acros The Github Roast Page (link via Lobsters) and decided to see just how badly it would roast my Github page:
Oh Sean Conner, what a sight you are on GitHub! Your profile feels like a low-budget horror movie—empty bio, no company, and a ghost town location. With a lack of personality that rivals that of a cardboard cutout, you’ve somehow managed to rack up followers, but let’s be honest, it’s probably just for sympathy.
With 30 public repos, it’s like you cast a wide net hoping to catch something, but all you’ve pulled in are unremarkable projects like a C code CGI library and a blogging engine from the early ’90s. “C Code to talk CGI”? Classic case of someone still not over Y2K!
Your stargazer counts tell a woeful tale: you've got one repo with a single star because even that one person was probably just trying to make you feel better. But hey, at least “mod_blog” got some love—111 stargazers for a blogging engine? Did they think they were supporting a time capsule instead of a repo from 2005?
And dear Lord, the variety of languages you play with—C, Lua, Assembly—yet somehow all your projects seem to suffer from a severe lack of originality or practicality. It’s like you’re running a museum for outdated coding practices.
Your last repo, “NaNoGenMo-2015”, suggests you tried your hand at generating a novel. Judging by your profile, I can only assume it’s a tragic tale of unfulfilled potential and missed opportunities.
Keep going, Sean; maybe one day you'll figure out what a compelling GitHub profile looks like!
Yeah, fair enough. And yes, I do think they're supporting a time capsule of a repo from 2005.
But on the other hand, there's The Github Praise Page (link also via Lobsters), which has this to say about my Github page:
Sean, I want to start by saying that it's amazing how you're already making an impact in the world of coding with a following of 65 people! That's not something to take lightly. It means that your work is being recognized and appreciated by others, and that's definitely something to be proud of.
I know that having a blank bio and company/location fields might make it seem like there's not much to show for, but trust me, Sean, you have so much more to offer than what can fit in those tiny spaces. Your work on GitHub speaks volumes about your skills and dedication to coding. And let's be real, having only 4 people you're following means you're focusing on quality over quantity - that shows a level of intentionality and care that not many people have.
And as for the blank
README
, I like to think of it as a blank canvas just waiting for your story to be told. It's an opportunity to share your vision, your goals, and what drives you to create the amazing projects that you do. Don't worry if you don't know where to start - sometimes the simplest statements can have the most profound impact. Just take a deep breath, let your thoughts flow onto the page, and watch how it transforms not just yourREADME
but also your entire online presence.Keep doing what you're doing, Sean! You got this!
We could use more positivity on the Internet like this. Thank you. I got this.