On Sun, 23 Sep 2001, Martin Stricker wrote:

> Jean Francois Ortolo wrote:
> >
> >   Yes, I keep wondering how this, and only this file, may have been
> > corrupted in my filesystem ( /dev/hda5 ). This happened while I tried
> > to run mysql from an xterm. Just before that, mysql was working fine
> > without any problem.
> >
> >   I don't believe either a program, or a library, can write in the
> > library physical file. This is not possible, as much as my knowledge
> > comes.
>
> root can do (nearly) anything. This is not Windows, in Unix there is no
> method to *force* other processes not to touch a file. You can ask them
> via fcntl() or flags in open(), but the other process can just ignore
> this.
>

  You mentioned "other" processes. In this case, it's mysql, the client
interface to the server mysqld. This mysql process makes an attempt to
load the readline.so.4.1 library, then to use one of its functions (
'readlixxxnternal_setup' as much as the error message said ). I can't
understand how the mysql process could have been writing in the
libreadline.so.4.1 file, from which its functionalities depend! That's not
possible. Secondary, the mysqld process is not susceptible to change this
library file. These packages are entirely separated from one another,
there is no writing interaction between them.

  By "other processes", I believe you mean "processes specifically
programmed to write in this library file". In such case, this would be
some "hackerised processes", being made introduced in my system. Yes, but
I've a good firewall, which denies all ports below 1024...

> A change to the library file doesn't disturb a running mysqld: When
> mysqld is started all needed shared libraries are loaded into memory (if
> they aren't already there). A library will only be unloaded from memory
> when the last process using it is terminated. In the meantime the
> library file might have been altered by another process or maybe a
> renegade harddisk head. This will not be noted because unloading the
> library from memory means the memory image will just be discarded. There
> will be no comparison between the memory image and the file, also the
> memory image will not be written back onto the harddisk, it is just
> discarded.
>

  In the meantime, there was no other process on my machine I could
suspect even to use the libreadline.so.4.1 library file, apart from mysql
itself. I made a 'rpm -q -R readline' recently, in order to show which
were the other packages eventually able to use this library file. None of
them was active at the mysql crash moment. ( don't remember exactly the
list ).

> If you kept the defective library file in a backup place you can compare
> the defective and the correct file and might get a clue about what
> happened.
>
> Best regards,
> Martin Stricker
>
What happened?
  Probably a sudden random libreadline.so.4.1 file change, apparently only
due to hazard, and the harddisk behaviour. Weird.

  I didn't keep this file, just replaced it with the right package file.
There is no error anymore since then.

  Thank you very much for your advice.
  Best regards.

  Jean Francois Ortolo




_______________________________________________
Seawolf-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/seawolf-list

Reply via email to