# [SOLVED] Filesystem Read-only / Input/output error

## Azangod

All begun with emerge -u gcc (4.1.1-r3) ...

Every time I try portage freezes at the same point:

```
>>> Source compiled.
```

A quick look at top revealed that sandbox was defunct. Nothing useful where left on the logs.

According to df there was'nt any partition space problem either.

The next step I tried to update the profile from 2006.1 to 2007.0 and the kernel too (from 2.6.18-r2 to 2.6.20-r :Cool:  (and with the bootsplash too! Incredible! I'm not good to make it work on my laptop  :Evil or Very Mad:  but on the server, where I could'nt care the less, it worked on the first shoot!).

On the next step I tried again to update gcc... at least this time there where some errors where I can work on... at least

Here we go:

```

[..cut..]

(TARGET_MACHINE='i686-pc-linux-gnu'; srcdir=`cd /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/gcc; ${PWDCMD-pwd}`; \

          SHELL='/bin/sh'; MACRO_LIST=`${PWDCMD-pwd}`/macro_list ; \

          export TARGET_MACHINE srcdir SHELL MACRO_LIST && \

          cd ../build-i686-pc-linux-gnu/fixincludes && \

          /bin/sh ./fixinc.sh ../../gcc/include \

            `echo /usr/include | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`  )

Fixing headers into /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc/include for i686-pc-linux-gnu target

Forbidden identifiers: i386 linux unix

Finding directories and links to directories

 Searching /usr/include/.

find: ././gtk-1.2/gtk/gtkmenuitem.h: Permission denied

find: ././gtk-1.2/gtk/gtkhscale.h: Input/output error

find: ././gtk-1.2/gtk/gtkvpaned.h: Input/output error

[..cut..]

an endless list of Input/output error

[..cut..]

mkdir: impossibile creare la directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc/include/./asm-generic': Input/output error

mkdir: impossibile creare la directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc/include/root': Input/output error

Making symbolic directory links

touch: cannot touch `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc/include/DONE': Input/output error

Fixing directory /usr/include into /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc/include

Cleaning up unneeded directories:

fixincludes is done

rm -f include/syslimits.h

rm: impossibile rimuovere `include/syslimits.h': Input/output error

make[2]: *** [stmp-fixinc] Error 1

make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make[1]: *** [stage1_build] Error 2

make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.1.2/work/build/gcc'

make: *** [profiledbootstrap] Error 2

!!! ERROR: sys-devel/gcc-4.1.2 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

  ebuild.sh, line 972:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  ebuild.sh, line 1305:   Called toolchain_src_compile

  toolchain.eclass, line 26:   Called gcc_src_compile

  toolchain.eclass, line 1537:   Called gcc_do_make

  toolchain.eclass, line 1411:   Called die

!!! emake failed with profiledbootstrap

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/sys-devel/gcc-4.1.2/temp/build.log'.

Traceback (most recent call last):

  File "/usr/bin/emerge", line 5530, in ?

  File "/usr/bin/emerge", line 5525, in emerge_main

  File "/usr/bin/emerge", line 4992, in action_build

  File "/usr/bin/emerge", line 3165, in merge

  File "/usr/lib/portage/pym/portage_locks.py", line 20, in lockdir

  File "/usr/lib/portage/pym/portage_locks.py", line 54, in lockfile

OSError: [Errno 5] Input/output error: '/var/tmp/portage/.sys-devel.portage_lockfile'

emergelog(): [Errno 5] Input/output error: '/var/log/emerge.log' 
```

The best thing is that after this error nothing works... every command I try the result is the same: Read-only filesystem and/or Input/output error. The only solution is the reset-button! 

I thought that it might be a broken compiler, so I've tried another 4.1.1-r3 built with quickpkg provided by a friend of mine.

Nothing.

And this time on top I've noticed something strange: 

```
Mem:    905340k total,   765584k used,   139756k free,   112448k buffers 
```

(It was the same before kernel & profile update)

I had 1152 MBs of RAM two 512 modules and one 128. The next step was memtest86+: no errors were found but...  but when I hit ESC key to quit memtest and reboot, the system freezed again: no errors, no signals, nothing at all; dead keyboard => reset button (my best friend for now on).

Why if I've got 1152MBs of ram (which the BIOS is aware of) top has to complain? I've thought that maybe 512+512+128 might be tricky, so I tried to remove the 128Mb dimm. Top again shows 900mb (904912k to be exact).

And for the last but the least... yesterday morning (and today too), after a night with amule turned on, the system was in the same conditions: no command available, read-only filesystem, input output error and so on.

What can/should I try before commit suicide?

Here follows a list of -I hope useful- outputs:

gcc -v

```
Using built-in specs.

Target: i686-pc-linux-gnu

Configured with: /var/tmp/portage/gcc-4.1.1-r3/work/gcc-4.1.1/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu

Thread model: posix

gcc version 4.1.1 (Gentoo 4.1.1-r3)
```

emerge --info

```
Portage 2.1.2.7 (default-linux/x86/2007.0, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo-r8 i686)

=================================================================

System uname: 2.6.20-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz

Gentoo Base System release 1.12.9

Timestamp of tree: Mon, 21 May 2007 18:00:09 +0000

dev-java/java-config: 1.3.7, 2.0.31-r5

dev-lang/python:     2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.16

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php4/ext-active/ /etc/php/apache2-php4/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cli-php4/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"

CXXFLAGS="-O2 -march=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LANG="it_IT.utf8"

LC_ALL="it_IT.utf8"

LINGUAS="it en"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acl acpi alsa apache2 arts asf avi bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo cdr cli cracklib crypt cups dbus divx4linux dri dts dvd exif ffmpeg flac flash foomaticdb fortran gdbm gif gpm gtk gtk2 hal iconv isdnlog java jpeg jpeg2k libg++ matroska midi mime mmx mp3 mpeg mudflap mysql ncurses nls nptl nptlonly nvidia ogg oggvorbis opengl openmp pam pcre pdf perl png pppd python qt3 qt4 quicktime readline reflection reiserfs samba session spl sse ssl svg tcpd tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l vcd vorbis win32codecs wmf x86 xorg xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it en" USERLAND="GNU" VIDEO_CARDS="nvidia"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
```

Last edited by Azangod on Fri May 25, 2007 2:27 pm; edited 1 time in total

----------

## Abraxas

Download the DFT iso and burn it to CD.

http://www.hitachigst.com/hdd/support/downloads/dft32_v409_b00.iso

Boot off of the CD and test your HDD.  Most likely you have either a bad HDD or a buggy driver.

----------

## Azangod

Congratulations (and many thanks)! One shoot, one kill.

The test returned "Errors found on non hitachi disk".

And now? What can I do to investigate further? I hope this will reveal to be a software problem and fully recover the disk...

First of all is time to move the backups from this disk to another   :Razz: 

----------

## eccerr0r

agreed, too many symptoms of a bad hard drive.  You'll probably see the dreaded error messages when you type 'dmesg' after the filesystem software goes read-only after sufferring through many i/o errors - to reduce damage to your (already damaged) filesystem.

Hope you had a backup... if not, backup soon, that disk might not last much longer.  If the diagnostic gives your disk a clean bill of health (most likely not) you'll need to run fsck on the disk to make sure things get cleaned up, but likely you'll have lost some data at this point.

I don't know if you had a Hitachi/IBM disk, but you'll need to go to your disk manufacturer for the right diagnostic.

----------

## Azangod

The disk is damaged... not badly but obviously the damage is spreading trough the surface while I'm copying the data into another support.

All saved except /usr  ... nothing that an emerge -e world can't fix (I hope)

This is why on a server a raid system is apreciated... the next time maybe...

Thanks a lot!

----------

## Abraxas

 *eccerr0r wrote:*   

> you'll need to go to your disk manufacturer for the right diagnostic.

 

Not really.  DFT works fine on all types of drives but it can only determine the exact problem and repair sectors on a Hitachi hard drive.  Seagate, Maxtor, WD all have their own utilities but they're nothing special.

----------

