UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by M Sweg » Tue, 07 Dec 1999 04:00:00



Hi,

     Please respond to my email address too since I don't subscribe to
this list-- to many already.

   I'm trying to upgrade my linux kernel from v2.2.1 to v2.2.13. I've
included all the information that I can provide and can't go any further. The
information includes: PC h/w, current s/w configuration, the problems
being encountered during upgrade along with what was tried.
  Once I've got this new kernel installed, I can upgrade the compler
and then
libc6 to v2.2.x and then move forward.

A). My PC hardware
     DELL Optiplex Gx1  333mhz Intel processor
     128 Megs of RAM
     1 GIG IDE QUANTUM drive that is MSDOS v6.22
     9 GIG SCSI Western Digital on an Adaptec 2940U2W AIC 7985
     3com 3c59x   ethercard

B).  My current s/w and OS configurations:

     The 1Gig IDE drive contains MSDOS v6.22 and Linux v2.0.38 UMSDOS Filsys.
           - this version of linux has XFree86 and netscape which ran
             fine on a 100mhz generic brand PC.
           - I just moved the IDE drive to the DELL and can see it via
             MSDOS. I haven't tried to boot it on the DELL.

      The 9Gig SCSI drive contains NT4.0 on partition two, MSDOS v6.22 on
      partitions one,three and four. Linux v2.2.1 UMSDOS Filesys is running
      on partition three which is a 2Gig partition.
            - this version of linux doesn't have Xwindows or netscape
            - this version of linux does have vgalibs, slang and glib
            - no swap space activated.

      Linux v2.2.1 UMSDOS s/w running:
             -- rebuilt (recompiled) all the s/w pkgs that DOSLINUX had
                from Kent Robbotti with the latest version with a few
                now being 1-2 revs behind since I started in Februrary 1999.
                Thus, it has taken 11 months to track down the tarballs, rpms
                debs etc that will work.

                The only s/w pkgs not compiled by "me" are the libc6 libs
                and the current egcs compiler.
                        --installed libc6-dev_2.0.7t-1.deb  precompiled binary
                        --installed egcs-1.0.3-glibc.x86.tar.bz2 precompile bin

                All other s/w pkgs were compiled agains't linux kernel v2.2.1
                using the above s/w pkgs to establish a baseline system.

                Other s/w pkgs that are important which were compiled and
                installed:
                        -- binutils-2.9.1.0.24.tar.gz
                        -- bin86_0.13.0-4.deb
                        -- util-linux-2.9i.tar.gz
                        -- netkit v0.15    tarballs dated October 1999
                        -- update v2.11.tar.gz

               Other s/w tarballs installed aren't important to the
               problem, but were compiled and installed since they need
               to make the system operational

C). Known Problems with linux v2.2.1 on UMSDOS and things that work.

    Major things that work:
         -- telnet/ftp
         -- lynx  browser
         -- crystal sound support  

     Known problems:
        -- during tarball s/w compiles such as the linux kernel, I get
           alot of lost clusters.
        -- the hardlink rename() won't work properly and I'll get
           on the console and dmesg  filename out of sync, erasing.

           This occurs for the "passwd" command in util-linux and
           the "lpr s/w rpm pkg". What is erased is the /etc/passwd
           file for passwd and the "cf" control file for lpr.
           Thus, I have no printing nor can I log in if I exit.
           I hacked the passwd source so that it doesn't do hardlink
           renames until this is fixed. I believe linux v2.2.12 or 13
           is supposed to fix this.

        -- the "uz"  command from mtools v3.9.4 which is just a shell
           script will "SEVERLY" corrupt the FAT filesystem that UMSDOS
           runs on under certain situations.
           It may be repairable with dosfsck v2.2, MSofts dskchk
           or NT's disk admin disk checker. However, when it is servere,
           dosfsck will seg fault, and "dskchk" will eliminate just about
           everything on the disk whether it is good or bad and NT too.
           The only way to fix it is 1) reformat the disk partitions using
           NT and reinstall a backup UMSDOS linux version, 2) use the command
           on a UMSDOS filesystem zip 100 disk such that if it corrupts the
           zip, just format that instead of the partition.

           Note: Haven't had time to isolate which command in the "uz"
                 command is doing it but here is the sequence necessary
                 to get it to occur.
                        a). "uz" the gz'd tar file.
                        b). the tarball will usually create a subdir with
                            the source in it.
                        c). cd into the tarball subdir and remove all the
                            files. One could compile then remove.
                        d). cd out of the subdir and repeat step (a) and
                           this will corrupt the subdir and the FAT filesys.

                        NOTENOTE: if step (d) is performed and the additional
                                  step of deleting the subdir name before
                                  repeating step (a) you'll be okay. It
                                  only seems to occur when the old subdir
                                  name isn't removed and the "uz" command
                                  is done again on the gz'd tarball.

                -- Kernel boot hang after downloading the SCSI xxx instructions.
                   A reboot is necessary, but it will just hang again.
                   REASON: During boot, the MSDOS autoexec.bat loads the
                           3com 3c59x DOS network drivers and the novell
                           vlm ones too. Then once the DOS prompt is gotten
                           , I boot the linux v2.2.1 system in the other
                           MSDOS partition which uses loadlin v1.6a to do it.

                            Although, loadlin is supposed to unload all of
                            these drivers it can't for some reason. The
                            3COM network card 3c59x that I have comes from
                            the factory set for interrupt 10. They don't
                            provide a utility which will allow you to change
                            the interrupt. Thus, when the ADAPTEC SCSI
                            disk in linux gets initialized, it uses interrupt
                           10 and 14. The best I can tell, this causes a fight
                            between two different OS drivers for control of
                            the interrupts: Linux OS and MSDOS drivers.

                           SOLUTION:
                           This took the month of January 1999 to discover the
                           reason which the solution is is to not load the
                           3CoM DOS network drivers and novell vlms in autoexec.bat
                           Just don't load them at all!

D). Linux kernel versions that will boot and run on UMSDOS that have
    alot of kernel configurations turned on (the works!) or a very absolute
    minimal configured kernel. They each have the known problems in item (C)
    above.

    v2.2.1
    v2.2.5
    v2.2.6

     kernel versions v2.2.2,3,4   weren't tried out.

E). Linux kernel versions that CRASH when booting on a UMSDOS filesys
    regardless if they are fully or minimally kernel configured.

    The list below is everything I tried in various different configs
     with the associated error message using the above libc6 but different
     compilers: v1.0.3, v1.1.2 and v2.95.2.

    1st configuration scenario

    a1). minimal linux system:
            tcp/ip
            vfat,umsdos,fat filesys.
            with SMP and mtrr   support   (note: I don't have SMP and it
                                                 detect this on boot)
            scsi,ide support for cdrom,floppy,disk drives

     a2). rc scripts setups
            There are no other daemons or modules loaded by the rc scripts
            besides those listed here.

            kernel modules loaded by rc scripts:  loop.o and 3c59x.o
            daemons started by rc scripts: syslogd, inetd

            NOTE: when rc scripts are done, it echoes a message saying
                  the rc scripts are done.

      a3). ERROR message gotten then hang!!!

            -- after the rc script message saying it is done and before
                mingetty login binary is started the following
                KERNEL error MSG is gotten:

             "Unable to Handle Kernel Null ptr dereference"

        a4). The above minimilistic linux kernel will give this error
              message for the following kernels.

                v2.2.7
                v2.2.8
                v2.2.10
                v2.2.12
                v2.2.13

                NOTE: kernels v2.2.9 and v2.2.11 weren't compiled.

         2nd configuration scenario          

        b1). performed steps (a1-a2) again but recompiled the kernel
             with MTRR and SMP support disabled.

        b2). ERROR message gotten then hang!!!

            -- after the rc script message saying it is done and before
                mingetty login binary is started the following
                KERNEL error MSG is gotten:

          Unable to Handle Kernel Null ptr dereference at virtual adr 00000004
          current -> tss.cr3=0005e000, %cr3=005e000
          *pde = 0
          oops = 0
          cpu  = 0
          EIP  = 0010 [<c012b3ee>]
          EFLAGS: 0010007
          eax=0 ebx=c4146010 ecx=c7f00098 edx=0
          esi: c414600 edi:c414600c ebp:287 esP:c009df30
          ds: 0018 es:0018  ss= 0018

          process init (pid:1 process nr:1 stack page=c009d000)
     stack:
        0000000b 00000001 c012b78r c4146000 c036def4 0000000b c036def8 c036dee0
        c001d760 0000011c c0204020 c009c000 7fffffff 00000000 c4146000 c012bb3b
        0000000b c009dfa8 c009dfa4 c009c000 00000000 00000000 bffffc38 c036dee8

     code: 8b 42 04 39 d8 75 f7 89 4a 04 55 9d 8b07 50 e8 0a 83 ff ff

            NOTE: I did this twice and it aborted roughly at the same spot.

        b4). The above minimilistic linux kernel will give this error
              message for the following kernels.

                v2.2.7

            the following kernels weren't tried without SMP and MTRR support
            due to problems in items (a1-a4).

                v2.2.8
                v2.2.9
                v2.2.10
                v2.2.11
                v2.2.12
                v2.2.13

       3rd configuration.

        c1). repeated items (a1-a4) using a new compiler egcs v1.1.2
             instead of v1.0.3. This compiler was compiled by me using
             egcs v1.0.3 and installed. The libg++ and libstdc++ weren't
              updated with new shared library files and links.

         c2). repeated items (b1-b4) using the new compiler egcs v1.1.2
              instead of v1.0.3 without SMP support and got roughly
              the same stack dump. The address changed to approx. C6...
              instead of C4... The instruction (code) seq was the same
              except for two bytes.

        4th configuration

          d1). repeated item (c1) using a new compiler gcc v2.95.2
               that was compiled and installed using egcs v1.1.2. The
                libg++ and libstdc++ weren't updated with new shared
                library files and links.

          d2). repeated
...

read more »

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by Peter T. Breue » Tue, 07 Dec 1999 04:00:00



:      Please respond to my email address too since I don't subscribe to
: this list-- to many already.

Ignored.

:    I'm trying to upgrade my linux kernel from v2.2.1 to v2.2.13. I've

Why? Not a bad idea, but what do you NEED?

:   Once I've got this new kernel installed, I can upgrade the compler
: and then libc6 to v2.2.x and then move forward.

You can change kernel and compiler quite orthogonally. I run 2.0.36
and gcc 2.8.1 (and 2.7.2). I have deleted 2.95 from my personal
box until such time as glibc2 and it decide to stabilize, but I have
it on other machines running 2.0.36. I also run 2.2.10 with bothe
2.7.2 and 2.95 compilers. My own box is libc5 based but as libc6
cmpatibility libraries.  Other boxes are the other way round ..

I.e. Don't. Not without reason.

: B).  My current s/w and OS configurations:
:      The 1Gig IDE drive contains MSDOS v6.22 and Linux v2.0.38 UMSDOS Filsys.

FIne.

:       Linux v2.2.1 UMSDOS s/w running:
:            -- rebuilt (recompiled) all the s/w pkgs that DOSLINUX had
:                 from Kent Robbotti with the latest version with a few
:               now being 1-2 revs behind since I started in Februrary 1999.
:                 Thus, it has taken 11 months to track down the tarballs, rpms
:               debs etc that will work.

?? You don't need anything in particular for umsdos. Oh, I see ..

:               The only s/w pkgs not compiled by "me" are the libc6 libs
:               and the current egcs compiler.
:                       --installed libc6-dev_2.0.7t-1.deb  precompiled binary
:                       --installed egcs-1.0.3-glibc.x86.tar.bz2 precompile bin

:               All other s/w pkgs were compiled agains't linux kernel v2.2.1

No they weren't. You never compile against the kernel. It's invisible.
You can have a 2.0.36 or 1.2.13 kernel in your system and the result of
the compilation will be just the same.

: C). Known Problems with linux v2.2.1 on UMSDOS and things that work.
:      Known problems:
:       -- during tarball s/w compiles such as the linux kernel, I get
:          alot of lost clusters.
:       -- the hardlink rename() won't work properly and I'll get
:            on the console and dmesg  filename out of sync, erasing.

Upgrade the kernel and check back with the author.

:          Thus, I have no printing nor can I log in if I exit.
:          I hacked the passwd source so that it doesn't do hardlink
:          renames until this is fixed. I believe linux v2.2.12 or 13
:          is supposed to fix this.

I have 2.2.10 so I can check for you (shudder).

:               -- Kernel boot hang after downloading the SCSI xxx instructions.

Change your scsi driver or terminate the bus ...

:                           these drivers it can't for some reason. The
:                           3COM network card 3c59x that I have comes from
:                           the factory set for interrupt 10. They don't

All pci cards take a IRQ that is settable by you according to taste in
the PC BIOS! Just assign a different IRQ to that SLOT.

:                           the interrupt. Thus, when the ADAPTEC SCSI
:                           disk in linux gets initialized, it uses interrupt
:                          10 and 14. The best I can tell, this causes a fight

Yeah. Move the NIC. Known proble when the card (on eof them) says it
can share interrupts, but can't. Assign a different IRQ to each pci
slot.

:                          This took the month of January 1999 to discover the
:                          reason which the solution is is to not load the
:                          3CoM DOS network drivers and novell vlms in autoexec.bat
:                          Just don't load them at all!

??

: E). Linux kernel versions that CRASH when booting on a UMSDOS filesys
:     regardless if they are fully or minimally kernel configured.

Why don't you boot from a small ext2 image using a ramdisk?

:         a4). The above minimilistic linux kernel will give this error
:             message for the following kernels.

:               v2.2.7
:               v2.2.8
:               v2.2.10
:               v2.2.12
:               v2.2.13

You're saying that boots from an msdos partition as root fail? It used
to work in 2.0.25 (last time I did a boot from msdos - fat32 in fact).

:       1). The CHANGES document mentions the minimal s/w pkg tarball version
:           number needed to compile all the linux v2.2.x kernels. It says
:           libc6 v2.0.7pre6 should be sufficient and that glibc v2.1.x
:           isn't a prerequisite.

Probably. Of course the kernel is independent of the system libraries.
I use libc 5.4.46 happily when compiling kernels (in a certain sense :-).
Very stable :-).

:        2). The CHANGES document mentions the minimal compiler is egcs v1.0.3
:            or gcc v2.7.(x)? and that egcs v1.1.2 or gcc v2.95.2 aren't
:            important.

:        Are these important now per 1 and 2 above.

No. You should use 2.7.2 to be absolutely safe. All issues are known.

:          1). although gcc v2.95.2 will compile the linux kernels v2.2.7 and
:            v2.2.13, it has problems compiling wu-ftpd-2.6.0.tar.gz and
:            libgcj-2.95.1.tar.gz.   Both these tarballs will cause register
:            spilling during compile. Thus, I'll move back to egcs 1.1.2
:            to insure that I can compile tarballs.

That's code problems. Talk to the authors.

Peter

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by M Sweg » Wed, 08 Dec 1999 04:00:00


: :    I'm trying to upgrade my linux kernel from v2.2.1 to v2.2.13. I've

: Why? Not a bad idea, but what do you NEED?

To get the latest and greatest. To get the rename() hardlink problem fixed.
To eliminate or reduce MSDOS cluster problems....

: :             The only s/w pkgs not compiled by "me" are the libc6 libs
: :                     and the current egcs compiler.
: :                     --installed libc6-dev_2.0.7t-1.deb  precompiled binary
: :                     --installed egcs-1.0.3-glibc.x86.tar.bz2 precompile bin

: :             All other s/w pkgs were compiled agains't linux kernel v2.2.1

: No they weren't. You never compile against the kernel. It's invisible.
: You can have a 2.0.36 or 1.2.13 kernel in your system and the result of
: the compilation will be just the same.

Well, the asm and linux subdirs that came with libc6 were moved to asm.temp
and linux.temp and the symbolic links were put in their place to the
linux source tree subdirs. The reason for this is that all the utilities
I recompiled (i.e. tar) may need a more up to date record structure
definition of the UMSDOS filesystem or some other data type. Rather than
than play multiple guess with data types and structures and getting weird
problems later on during upgrade, I decided to recompile all the s/w agains't
the linux source tree. I realize that not all s/w pkgs require any info
from the source tree, but if it does, it gets the current definition.

Moreover, the libc6 was originally compiled agains't and the includes taken
from the linux v2.1.x series. Since, I don't have that version, why take
chances agains't outdated stuff? Thus, using linux v2.2.1 as a baseline
and the libc6 along with the compiler and recompiling everything, the linux v2.2.1 that I have now has been baselined and will serve as a stepping stone
for future kernel upgrades. Supposedly, any libc's and utilities compiled
that are real new will be backwards compatible with aloder libc's, compilers
and kernels whereas an older libc, kernel tree, tool etc may not be *forward*
compatible.

I have the older kernel v2.0.x kernels running on another partition on this
drive and it works. Now, I'm trying to migrate to newer stuff.

: :             -- Kernel boot hang after downloading the SCSI xxx instructions.

: Change your scsi driver or terminate the bus ...

The Adaptec 2940U2W has auto termination and linux detects this.

: :                         these drivers it can't for some reason. The
: :                         3COM network card 3c59x that I have comes from
: :                         the factory set for interrupt 10. They don't

: All pci cards take a IRQ that is settable by you according to taste in
: the PC BIOS! Just assign a different IRQ to that SLOT.

My BIOS doesn't allow one to change the IRQ from BIOS setup.

Is there a freeBIOS which fixes all the BIOS problems that Linux has to
deal with and thus eliminate all the complaints of BIOS shortfalls and bugs?

: :                         the interrupt. Thus, when the ADAPTEC SCSI
: :                         disk in linux gets initialized, it uses interrupt
: :                        10 and 14. The best I can tell, this causes a fight

: Yeah. Move the NIC. Known proble when the card (on eof them) says it
: can share interrupts, but can't. Assign a different IRQ to each pci
: slot.

I don't have the capability in the BIOS nor do the OEM tools provide one
with the capability.

: :         a4). The above minimilistic linux kernel will give this error
: :           message for the following kernels.

: :             v2.2.7
: :             v2.2.8
: :             v2.2.10
: :             v2.2.12
: :             v2.2.13

: You're saying that boots from an msdos partition as root fail? It used
: to work in 2.0.25 (last time I did a boot from msdos - fat32 in fact).

Yes, boots and after rc scripts are run and before mingetty gives the
login prompt it gives the "null ptr dereference" problem.

--
        Mike,

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by Peter T. Breue » Wed, 08 Dec 1999 04:00:00



: : No they weren't. You never compile against the kernel. It's invisible.
: : You can have a 2.0.36 or 1.2.13 kernel in your system and the result of
: : the compilation will be just the same.

: Well, the asm and linux subdirs that came with libc6 were moved to asm.temp

That's not the kernel, that's the kernel's INCLUDE files. You can have
the include files for whichever kernel you like on the system (I have 4
or 5 sets).

: problems later on during upgrade, I decided to recompile all the s/w agains't
: the linux source tree. I realize that not all s/w pkgs require any info
: from the source tree, but if it does, it gets the current definition.

It is very rare indeed. The includes should export to userland  only
non-kernel interfaces, even if the kernel interface changes. There'll
be #ifdef __KERNEL__ 's all over the place around the kernel parts.

: Moreover, the libc6 was originally compiled agains't and the includes taken
: from the linux v2.1.x series. Since, I don't have that version, why take
: chances agains't outdated stuff? Thus, using linux v2.2.1 as a baseline

Because it's not outdated. Much of the point of having a system library is
to protect yourself against kernel changes!

: and the libc6 along with the compiler and recompiling everything, the linux v2.2.1 that I have now has been baselined and will serve as a stepping stone
: for future kernel upgrades. Supposedly, any libc's and utilities compiled
: that are real new will be backwards compatible with aloder libc's, compilers
: and kernels whereas an older libc, kernel tree, tool etc may not be *forward*
: compatible.

: I have the older kernel v2.0.x kernels running on another partition on this
: drive and it works. Now, I'm trying to migrate to newer stuff.

I am happily running both under libc5 and libc6. I compiled most of my
stuff myself (including gcc, for example, not that there's any difficulty).

: : :           -- Kernel boot hang after downloading the SCSI xxx instructions.

: : Change your scsi driver or terminate the bus ...

: The Adaptec 2940U2W has auto termination and linux detects this.

And also tells you not to trust it .. and besides, the only detection
the card does is of if IT should be terminating, not if the other end
of the bus should be terminating. Check. And it often gets it wrong.
Don't trust auto.

: : :                       3COM network card 3c59x that I have comes from
: : :                       the factory set for interrupt 10. They don't

: : All pci cards take a IRQ that is settable by you according to taste in
: : the PC BIOS! Just assign a different IRQ to that SLOT.

: My BIOS doesn't allow one to change the IRQ from BIOS setup.

If you don't have a bios entry (even my old VX boards have bioses with
selectable IRQs for the pci cards), then just physically _move_ the
cards to a different slot.  The IRQ will be geographically located.

: Is there a freeBIOS which fixes all the BIOS problems that Linux has to
: deal with and thus eliminate all the complaints of BIOS shortfalls and bugs?

No need in your case.

: : Yeah. Move the NIC. Known proble when the card (on eof them) says it
: : can share interrupts, but can't. Assign a different IRQ to each pci
: : slot.

: I don't have the capability in the BIOS nor do the OEM tools provide one
: with the capability.

Move the NIC. This requires the OEM tool known as a screwdriver.
^^^^^^^^^^^^

: : :         a4). The above minimilistic linux kernel will give this error
: : :         message for the following kernels.

: : :           v2.2.7
: : :           v2.2.8
: : :           v2.2.10
: : :           v2.2.12
: : :           v2.2.13

: : You're saying that boots from an msdos partition as root fail? It used
: : to work in 2.0.25 (last time I did a boot from msdos - fat32 in fact).

: Yes, boots and after rc scripts are run and before mingetty gives the
: login prompt it gives the "null ptr dereference" problem.

That's a bug. Report and followup ..

Peter

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by M Sweg » Thu, 09 Dec 1999 04:00:00


Peter T. Breuer (p...@oboe.it.uc3m.es) wrote:
: In comp.os.linux.development.system M Sweger <mik...@whiterose.net> wrote:

: : : No they weren't. You never compile against the kernel. It's invisible.
: : : You can have a 2.0.36 or 1.2.13 kernel in your system and the result of
: : : the compilation will be just the same.

: : Well, the asm and linux subdirs that came with libc6 were moved to asm.temp

: That's not the kernel, that's the kernel's INCLUDE files. You can have
: the include files for whichever kernel you like on the system (I have 4
: or 5 sets).

Yes, I realize the precompiled libcs come with the linux and asm subdir
includes they were originally compiled agains't. Eventually, when I get
to linux v2.2.13 and then recompile the glibc v2.1.2 libcs followed by
another recompile fo the kernel, I copy the asm and linux include directories
then to the tarball I create for backup of the glibc libc, then I won't need the
temp dirs I created.

: : problems later on during upgrade, I decided to recompile all the s/w agains't
: : the linux source tree. I realize that not all s/w pkgs require any info
: : from the source tree, but if it does, it gets the current definition.

: It is very rare indeed. The includes should export to userland  only
: non-kernel interfaces, even if the kernel interface changes. There'll
: be #ifdef __KERNEL__ 's all over the place around the kernel parts.

Yes, but there are some s/w pkgs that access the kernel namespace directly.
Moreover, since I'm using the asm and linux includes via a symbolic link,
I'll bypass the those that came with the precompiled libc6 that I have in temp.

: : Yes, boots and after rc scripts are run and before mingetty gives the
: : login prompt it gives the "null ptr dereference" problem.

: That's a bug. Report and followup ..

I already have to the kernel list, but the linux archives for last week
don't show the post I made. The 1week of dec and the 5th week of Nov
are the same set of kernel mailing list threads. See www.kernelnotes.org
I've emailed the web admin but still isn't fixed.

Ok......        I broke down and got ksymoops and hand typed the oops
codes into a file. Here is everything I'm getting with linux v2.2.7.

Note: according to the source code, Linus Torvalds found a race condition
       in the ./fs/select.c source code. Apparently, there must be more?

This, has been forwarded to the kernel mailing list also.

*********** TRACE listing****

Hi,
   I've provided a ksymoops trace for UMSDOS linux v2.2.7 using libc6 v2.0.7pre6
and gcc v2.95.2. Here are my setups.

A). Hardware
       Dell 333mhz optiplex GX1
       adaptec 2940U2W AIC 7985
       WDE 9 gig SCSI
       QUANTUM 1.2 gig IDE
       3com 3c59x   ether card.

B).  USMDOS OS:
         stable linux v2.2.1 trying to run v2.2.7
         all s/w pkg about the latest i.e. Mtools v3.9.4, util-linuxi,
               binutils 2.9.1.0.24.tar.gz
               bin86_0.13.0-4.deb
               precompiled libc6-dev_2.0.7t-1.deb

          modules insmod'd:   loop.o 3c59x.o
          daemons running:    syslogd, klogd,inetd     ---nothing else
          kernel configuration: minimal with i586 option selected,
                                        with MTRR not enabled.
                                        with SMP support not enabled.
                                        with no floating pt emulation.
                                        with FAT,UMSDOS and VFAT filesys.

******  Listing of rc.M that I use ******

# Start system log daemon: syslogd

if [ -x /usr/sbin/syslogd ]; then
echo "Starting system log daemon: syslogd"
/usr/sbin/syslogd -m 0  
fi

# Start kernel log daemon: klogd

if [ -x /usr/sbin/klogd ]; then  
  echo "Starting kernel log daemon: klogd"

# NOTE: I have to do all this since the stack trace doesn't right to a file.
        , the ksyms aren't available due to the crash on boot,
        , the modules dumped,
        , To get the kern.oops which isn't the stack trace - I need to
          force a kernel buffer flush or else I won't have any data at the
          crash.

         Once the kernel crashes, the MSDOS filesystem must be repaired.
         Then when I reboot to a stable v2.2.1 kernel, it copies the previous
         data to a safe area for review whils't the new data is written out
         for the next reboot.

  cp -p /var/log/kern.oops /root/kern.oops.$$.`date +%s`
  cat /proc/modules >/root/kmodules.`date +%s`
  cat /proc/ksyms >/root/ksyms.`date +%s`
# force kernel flush of messages
   sync
  /usr/sbin/klogd -f /var/log/kern.oops -k /usr/src/linux/System.map -c 1
fi

C). booted the linux v2.2.7
    NOTE: I had to hand type this data into a file to run through ksymoops.
          To do this, I'll be running kernel v2.2.1 which is stable; however,
          all the data fed to ksymoops is the previous kernel v2.2.7 crash
          data.

****** The shell script I run on the data ******
#!/bin/sh

ksymoops -V -l /root/227/kmodules.227 -k /root/227/ksyms.227 -o /lib/modules/2.2.7/ /root/227/kern.ops >/root/227/kt.1 2>&1

******** The data dump trace *********
       Note: the module warning might be due to be having v2.2.1 3c59x loaded
             althought the ksyms were dumped by rc.M start script above.

ksymoops 0.7c on i686 2.2.7.  Options used
     -V (specified)
     -k /root/227/ksyms.227 (specified)
     -l /root/227/kmodules.227 (specified)
     -o /lib/modules/2.2.7/ (specified)
     -m /usr/src/linux/System.map (default)

Warning (compare_ksyms_lsmod): module 3c59x is in lsmod but not in ksyms, probably no symbols exported
Oops: 0
CPu: 0
EIP: 0010:[<c012c1ae>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010007
eax: 00000000 ebx: c7497010 ecx: c7ef6098 edx: 00000000
esi: c749700c edi: c7497000 ebp: 00000287 esp: c0003efc
ds: 0018 es: 0018 ss: 0018
process init (pid:1, process nr:1, stackpage=c0003000)
Stack: 00000400 0000000b 00000004 c0098ef8 00000000 c012c51b c7497000 00000000
    0000000b c012c4ec 00000001 00000004 c0098ef8 00000000 00000000 c0010760
    08049544 c0002000 c0002000 7fffffff 00000000 c7497000 00000000 00000000
call trace: [<c012c51b>] [<c012c4ec>] [<c012c885>] [<c0108b2d>] [<c01089f4>]
code: 8b 42 04 39 d8 75 f7 89 4a 04 55 9d 83 c4 f4 8b 06 50 e8 27

>>EIP; c012c1ae <free_wait+3a/74>   <=====

Trace; c012c51b <do_select+1fb/214>
Trace; c012c4ec <do_select+1cc/214>
Trace; c012c885 <sys_select+351/478>
Trace; c0108b2d <error_code+2d/40>
Trace; c01089f4 <system_call+34/40>
Code;  c012c1ae <free_wait+3a/74>
00000000 <_EIP>:
Code;  c012c1ae <free_wait+3a/74>   <=====
   0:   8b 42 04                  movl   0x4(%edx),%eax   <=====
Code;  c012c1b1 <free_wait+3d/74>
   3:   39 d8                     cmpl   %ebx,%eax
Code;  c012c1b3 <free_wait+3f/74>
   5:   75 f7                     jne    fffffffe <_EIP+0xfffffffe> c012c1ac <free_wait+38/74>
Code;  c012c1b5 <free_wait+41/74>
   7:   89 4a 04                  movl   %ecx,0x4(%edx)
Code;  c012c1b8 <free_wait+44/74>
   a:   55                        pushl  %ebp
Code;  c012c1b9 <free_wait+45/74>
   b:   9d                        popf  
Code;  c012c1ba <free_wait+46/74>
   c:   83 c4 f4                  addl   $0xfffffff4,%esp
Code;  c012c1bd <free_wait+49/74>
   f:   8b 06                     movl   (%esi),%eax
Code;  c012c1bf <free_wait+4b/74>
  11:   50                        pushl  %eax
Code;  c012c1c0 <free_wait+4c/74>
  12:   e8 27 00 00 00            call   3e <_EIP+0x3e> c012c1ec <__pollwait+4/98>

1 warning issued.  Results may not be reliable.

Thanks for any further info.

PS:  kernels v2.2.1, v2.2.5, v2.2.6 run ok.
     kernels v2.2.7, v2.2.8, v2.2.10, v2.2.12, v2.2.13  crash like this
     all other kernels weren't tried.

     BTW, if SMP and/or MTRR is compiled in, then I don't get a stack trace
     at all although it defaults to no SMP since I only have one processor.

PS2: Please email me too since I don't subscribe to this mailing list
     due to the other lists I belong too.

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by Peter T. Breue » Thu, 09 Dec 1999 04:00:00



: : : Yes, boots and after rc scripts are run and before mingetty gives the
: : : login prompt it gives the "null ptr dereference" problem.

: : That's a bug. Report and followup ..

: I already have to the kernel list, but the linux archives for last week
: don't show the post I made. The 1week of dec and the 5th week of Nov

Are you subscribed? You might have to be. My posts show up immediately.

You might also have to try harder to get their attention. Mail the
umsdos maintainer directly. Put the oops trace FIRST in the mail, with
everything else last. Two sentences first describing the circumstances.
They need to know the compiler and if any patches have been applied.

A title like "decoded 2.2.13 oops from umsdos root, please help" might
work.

Peter

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by roo » Sun, 12 Dec 1999 04:00:00




>: : : Yes, boots and after rc scripts are run and before mingetty gives the
>: : : login prompt it gives the "null ptr dereference" problem.

>: : That's a bug. Report and followup ..

>: I already have to the kernel list, but the linux archives for last week
>: don't show the post I made. The 1week of dec and the 5th week of Nov

>Are you subscribed? You might have to be. My posts show up immediately.

>You might also have to try harder to get their attention. Mail the
>umsdos maintainer directly. Put the oops trace FIRST in the mail, with
>everything else last. Two sentences first describing the circumstances.
>They need to know the compiler and if any patches have been applied.

>A title like "decoded 2.2.13 oops from umsdos root, please help" might
>work.

2.2.13 gives the NULL pointer signoff after running ncftp.

I'm wondering if any of the Linux developers have given any thought to
providing better support for vfat/msdos partitions.  By this, I mean
integrating these partitions with Linux so they run the same way.  You all
know what that means:  "ln" and "chmod" would be made to work seamlessly
with both Native Linux and other partitions, such as vfat.  It's really
not that hard.  You just use the Cygnus trick and introduce a foreign
symlink file that contains both the Linux name and file permissions
information, and you generate this file only when someone tries to "chmod"
or "ln -s" to a foreign partition file.  The programming details are not
that complicated: You use a mangled file name, you give it an unusual (for
the given file system) attribute, such as "hidden", and you force the
kernel driver to search for these files before searching for the
conventional files.

It would also help if the developers recognize that there still are valid
reasons, such as embedded systems with low memory, for making programs
like "mke2fs" work properly to generate large Native Linux partitions
without using memory resources.

 
 
 

UMSDOS:V2.2.7-2.2.12 boot crash:null ptr

Post by Nate Eldredg » Sun, 12 Dec 1999 04:00:00



> I'm wondering if any of the Linux developers have given any thought to
> providing better support for vfat/msdos partitions.  By this, I mean
> integrating these partitions with Linux so they run the same way.  You all
> know what that means:  "ln" and "chmod" would be made to work seamlessly
> with both Native Linux and other partitions, such as vfat.  It's really
> not that hard.  You just use the Cygnus trick and introduce a foreign
> symlink file that contains both the Linux name and file permissions
> information, and you generate this file only when someone tries to "chmod"
> or "ln -s" to a foreign partition file.  The programming details are not
> that complicated: You use a mangled file name, you give it an unusual (for
> the given file system) attribute, such as "hidden", and you force the
> kernel driver to search for these files before searching for the
> conventional files.

Isn't that exactly what umsdos is?  Admittedly, the format is slightly
different than what you describe, but the results are the same.

--

Nate Eldredge

 
 
 

1. Creating BOOT/ROOT /dev corrupted at mount (2.2.9-2.2.12)

Looking for clues...

Have Scripts which previously created
working boot/root disks (2.0.X).

Now, with 2.2.9+

After creating template volume in /dev/ram,
everything looks ok until boot, then fails
during boot at finding /dev/console or /dev/init.

Subsequent, mount of boot image using
loop device,

(Abbreviated commands)
dd if=/dev/ram of=/tmp/image ...
mount /tmp/image ...

Listing of root directory of image
shows.

 ?rwxr-xr-x .... /dev dated December 1969

Anyone know what this problem is ??????????

Thanks, to anyone who responds.

Wes

2. windows 98 can't see Linux machine using Samba

3. HELP: stack ptr null when crashing system

4. tar files

5. Passing ptr to ptr to a function that takes ptr

6. files I don't understand

7. Mozilla 5 Milestone 12 for Solaris 2.7 SPARC available...

8. Unix Question?

9. Patch to kernel for GCC 2.7.[12]

10. LinuxThreads (-2.2.2?) and pthread_barrier_t

11. Installing Drivers? Debian 3.0-2.2.20

12. dpt_intr(15496): null ptr

13. Apache 1.3.12 + Solaris 2.7 gives fork errors under high load