Copy Link
Add to Bookmark
Report

NULL mag Issue 08 12 Corrupted bases

eZine's profile picture
Published in 
null magazine
 · 3 years ago

  




well... there is always a first time for everything... so it was my
turn to learn and feel what is about a message base being corrupted.
but let's see the details, in hope that it may help you in the future,
in case you notice the same behavior in your bbs.

in my area, power outages and fluctuations is a "normal" thing. we
have lot of both of them. so my bbs machine (a rpi3b) had and has many
abnormal shutdowns. but even so, i have never noticed any weird
behavior, until now. the thing was, that in the same time, i
subscribed to a new echonet, so i did make some changes to the bbs,
that also affected mutil and fidopoll.

the weird behavior, was that mutil was crashing... a lot! after each
mutil crash, fidopoll got stacked, because of remaining semaphore files
and never polled packets after that. another very weird thing was,
that just once, i got msgs from one msg. base to another one. i
imagined that the msg.base that got the msgs was corrupted and because
it didn't had many messages i deleted it. i also checked the
mystic.dat file and the msg.base ids for corruption, but everything
was fine. for a few days, i was noticing the same pattern behavior.
fidopoll gets traffic, mutil process them, got stacked and fidopoll
stacked also after that.

the error logs, didn't show something usefull except some general
messages like "memory corruption" and "runtime error"... and because
at first i thought that the error was in fidopoll, i lost some time
with it. and then... "eureka"! just by accident i found where the
problem was.

after getting frustrated, i executed a maintenance script in mutil and
suddenly it crashed! repeated the process again and also crashed. both
time while checking the message bases, but i couldn't figure which one
and because i thought that i had fixed the problem by deleting the one
i talked about in the begining, i never got suspicious that i
deleted/cleared the wrong one. so... back to the message base editor
and checked settings for the message bases. by luck, i noticed that in
a specific msg. base, i had put a limit of messages to keep. the limit
was 10.000msg, but i remembered that while browsing the msg.bases that
base had 13000+. everything else was just fine. so i deleted the files
of that msg.base and... voila! everything was fine. i restored the
base from an older backup and also everything was fine.

my guess, is that something went wrong in the header of that msg.base
or the header of a msg. and things went out of hand and caused all the
"burps" in the mutil utility. nothing serious, but man what a
bummer... specially if you are making the wrong guesses and not
finding the root of the problem.

so... lesson learned... never assume anything... and just follow the
lead, the breadcrumbs... all the evidences were there, but i kept
making guesses my self instead of reading the facts. as a final
solution i could restore an older backup and everything would be fixed
instantly... but it's more fun hitting your head at the wall and try to
fix things :)






<<< null e-magazine x008 (text edition) >>>
____ _____ _____ _____ http://github.com/xqtr/null
___/. \/ /_________/. /__/. /__jp!_ andr01d.zapto.org:9999
//_ \ . / / \ / _// agency.bbs.nz
/____/\____/ / /__________________\ d1st.org
\________/

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT