Linux-Development-Sys Digest #415, Volume #6     Sat, 20 Feb 99 02:14:33 EST

Contents:
  Re: Serious NFS bug in Linux 2.2.x (Solaris server) (Tim Dawson)
  Re: Clock Skew (Stefan Monnier)
  Re: memcpy from process to process in module (Emile van Bergen)
  Re: USB support (Thomas Joynt)
  Re: 2.2.1: strange SMP (dual celeron) startup msgs (Johan Kullstam)
  Re: Problem with getting information from ethernet (Peter Samuelson)
  why do some processes die for no reason? (Jinsong Ouyang)
  Re: Linux programming jobs? (David T. Blake)
  Re: kernel2.2.1 and shutdown on asus-pii-board (Peter Samuelson)
  Re: Porting SVR4 code to Linux (Peter Samuelson)
  Re: Linux programming jobs? (root)
  Explanation of Apache process and socket handling??? ("David Sisk")
  Re: Dell WS designer wants to know... (Peter Samuelson)

----------------------------------------------------------------------------

From: [EMAIL PROTECTED] (Tim Dawson)
Subject: Re: Serious NFS bug in Linux 2.2.x (Solaris server)
Date: 18 Feb 1999 17:12:12 GMT

In article <[EMAIL PROTECTED]>,
 Oliver Stahlhut <[EMAIL PROTECTED]> writes:
|> Hi there!
|> 
|> Data written to a SUN Solaris NFS server by a Linux 2.2.1 NFS client can
|> be truncated.
|> I managed to find a reproducible test for this problem:
|> 
|> 1.) Get jpegsrc-6b.tar.gz
|> 2.) unpack it into an arbitrary directory on the SUN server
|> 3.) issue "configure; make; make check" on the sources
|> 
|> What you will see is a) compilation errors of the jpeg utilities due to
|> a corrupted libjpeg.a, or b) segmentation faults at "make check". This
|> is only one example. It is not possible anymore to compile huge
|> source-packages on a Solaris NFS server. Usually generating libraries or
|> shared objects fails.
|> 
|> This problem only appears with the Linux 2.2.x kernel version. With
|> 2.1.125 or 2.0.36 everything works fine. Neither it depends on the
|> system-release, or the compiler used for compiling the 2.2.x sources. I
|> tested it with glibc & libc5 systems, gcc 2.7.2.3 & egcs.
|> 
|> Linux & IRIX NFS servers work fine. I only have the problem when
|> accessing Solaris (2.5/.6) servers - unfortunately all the huge
|> fileservers in our institute.
|> 
|> Can anyone reproduce my problem ? ... 
|> 
|>         Oliver

I have two Linux systems which can duplicate this same type of problem 
consistently when building wine.  Ironically, it is typically text files that 
are getting truncated on me, and I can never complete the build.  I too have
tries various compilers, etc.  and find that Linux 2.2.1 NFS client is the 
consistent problem.  For servers, I have tried 2.0.36, 2.2.1 (user space NFS) 
and 2.2.1 (kernel NFS).  I was also getting some hard NFS hangs on the client,
although other mount points other than the one the compile is on worked.  

And then I tried another system, with the same kernel and config (but a faster 
CPU) and damn if the same thing didn't seem to work fine.  Bottom line is,
you are about the fourth person that I have seen describe this problem here.
We are all seeing it in slightly different manifestation, but the net result
is the same: truncated or mangled data written by the 2.2.1 (or thereabouts) 
NFS client.

In light of the different systems behaving a bit differently (mine, at least) 
with the same code and compilers, I am led to beleive that there is a factor to 
this problem involving either RAM quantity, or timing, since those were the two
prdominant differences in my two systems.

-- 
================================================================================
Tim Dawson ([EMAIL PROTECTED])                    Owner/Engineer
TPC Services                                        Bellnet: (972)-221-7385
Lewisville, Texas 75067                             FAXnet:  (972)-221-0393
"The world is complex. Sendmail.cf reflects this...."

------------------------------

From: Stefan Monnier 
<[EMAIL PROTECTED]>
Subject: Re: Clock Skew
Date: 18 Feb 1999 16:10:11 -0500

>>>>> "Alex" == Alex Rhomberg <[EMAIL PROTECTED]> writes:
> So here comes the command for the lazy. Just replace MY_TIMESERVER with
> the name
> of you central time source or NFS server and run :)
> echo '#\!/bin/sh\nping -q -c 1 MY_TIMESERVER > /dev/null && rdate -s
> MY_TIMESERVER' > /etc/cron.hourly/getnettime;chmod 744
> /etc/cron.hourly/getnettime

A less low-tech solution would be:

        % cat >/etc/ntp.conf <<EOF
        server MY_NTP_TIME_SERVER
        EOF
        % xntpd -g


-- Stefan

------------------------------

From: Emile van Bergen <[EMAIL PROTECTED]>
Subject: Re: memcpy from process to process in module
Date: Fri, 19 Feb 1999 23:12:23 +0100

Dave Platt wrote:
> 
> > I'm writing a kernel module that implements Send/Receive/Reply
> > message passing similar to that of the QNX Real-Time O/S.
> 
> Another option is to set up a shared-memory pool which is mapped into
> both (or all) processes' memory spaces.  This can be done using the
> System V shmem features, or by using mmap() on a shared file.
> Construct the messages in the shared memory area (using either
> user-mode spinlocks or kernel-mode locks, or both, to avoid
> contention), and use signals, or I/O to a trivially-small driver, as a
> way of informing the other processes that messages are ready.
> 
> Do this right, and you may be able to go down from a two-memcopy
> approach (user1->kernel, kernel->user2), bypassing entirely the QNX
> approach (direct user1->user2), and go to a zero-copy message passing
> system.

Great idea! Only thing is, the receiving process should be able to make
a call to the driver to indicate it's done with (reading/interpreting)
the area so that the driver can return it to the pool.

-- 

M.vr.gr. / Best regards,

Emile van Bergen (e-mail address: [EMAIL PROTECTED])

This e-mail message is 100% electronically degradeable and produced
on a GNU/Linux system.

------------------------------

From: Thomas Joynt <[EMAIL PROTECTED]>
Subject: Re: USB support
Date: Thu, 18 Feb 1999 14:24:57 -0800

Christian Uhde wrote:

> hi all,
>
> is there any support for usb interfaces ?
>
> bye,
> chris.

The quick answer is no, no in a stable release. You might be able to
find a patch somewhere. Getting USB support in the kernel is a priority,
but it wasn't ready in time for the 2.2 code "freeze".

Check an intro to what's new in 2.2 at
http://www.linuxhq.com/wonderful22.html for more info.

-- Tom


------------------------------

Subject: Re: 2.2.1: strange SMP (dual celeron) startup msgs
From: Johan Kullstam <[EMAIL PROTECTED]>
Date: 18 Feb 1999 18:56:07 -0500

BL <[EMAIL PROTECTED]> writes:

> if you want to be sick <g>, I have a single pentium pro 200/512k with 256meg
> interleaving (etc) and doing the exact same config/kernel (2.2.1 with similar
> options on both systems):
> 
> ppro:         about 8 minutes
> dual celery:  about 2 minutes
> 
> and you'd be sick to know how much we paid for that ppro system less than 2
> yrs ago...

i paid $800 for the quad ppro (case, mobo and 4 512k l2 cpus).  i had
to throw another $800 to get a sca hard disk, scsi controller, memory,
a video card and an ethernet card.  that makes $1600 for a complete
system.  of course i bought it in novemeber 1998 so it was already
well `obsolete'.  it's amazing what you can get for scrap at computer
show.

-- 
Johan Kullstam [[EMAIL PROTECTED]] Don't Fear the Penguin!

------------------------------

From: [EMAIL PROTECTED] (Peter Samuelson)
Subject: Re: Problem with getting information from ethernet
Date: 19 Feb 1999 20:59:04 -0600
Reply-To: Peter Samuelson <[EMAIL PROTECTED]>

[Guillaume Proux <[EMAIL PROTECTED]>]
> When I include
> 
> #include <linux/netdevice.h>
> 
> I have a compilation error while performing the pre-processing
> 
> In file included from /usr/include/linux/device.h
> /usr/local/include/if.h:120: parse error before caddr_t

Where did you get that `device.h'?  My box (Debian potato, glibc 2.0.x,
kernel source 2.2.2pre) does not have it.  Also, what is
/usr/local/include doing in your include path?

Formerly /usr/include/linux was a symlink to /usr/src/linux/include,
but Debian separated the two some time ago, and I believe glibc has its
own set of /usr/include/linux files so the split is "official" now.  In
any event the files <linux/netdevice.h> and <linux/if.h> should be in
the same directory.  Try to force the issue with -I/usr/include or
-I/usr/src/linux/include.

-- 
Peter Samuelson
<sampo.creighton.edu!psamuels>

------------------------------

From: [EMAIL PROTECTED] (Jinsong Ouyang)
Subject: why do some processes die for no reason?
Date: 20 Feb 1999 04:05:00 GMT

I have been using RedHat Linux to run some Monte Carlo simulations. 
Each job takes quite a while to finish. Sometimes, I found that 
the job I submitted died for no reason. No core file is found. 
The system is running well but the job disappears. But if you 
submit the job again, the job may run all the way to the end
without any problems. So the problem seems to be random. I've found 
this problem exists for both RedHat 4.2 and RedHat 5.2 and 
for all the recent kernels. I guess this may from SMP (I have 
2 processors). But not sure at all. Does anyone have the same
kind of experience and solutions? Thanks.



------------------------------

From: [EMAIL PROTECTED] (David T. Blake)
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.networking
Subject: Re: Linux programming jobs?
Date: 19 Feb 1999 11:04:48 -0800

[EMAIL PROTECTED] (Pavel V. Zaitesev) writes:

>Hello, fellow linux hackers.
>I'm currently looking for work, that involves linux/unix programming, but
>can find none. All jobs here require degree and /or 5-10 paid work
>experience. I am a little upset now, because local authorities changing
>law locally to allow programmer to work for more hours, but I couldn't
>find a single job. Would the problem be:
>1. Bad resume
>2. looking in the worng places
>3. too dumb
>I am 20 and abviously have no degree, nor any paid work experience.
>I finished high school, I know linux/w95 well as well as C++, perl, Java,
>Pascal, sh, bash. I know how to setup any kind of software. Able to
>troubleshoot any software conflict. Currently I am working on a electronic
>sales system.


Move to the Bay Area.

There is a tremendous mismatch between supply and
demand here. Supply of programmers is way too small
for the demand for them.

A decent contract programmer who actually finishes jobs
in a respectable time frame makes $50-90/hr, depending
on the reputation of the programmer and the sort of work.

-- 
Dave Blake
[EMAIL PROTECTED]

------------------------------

From: [EMAIL PROTECTED] (Peter Samuelson)
Subject: Re: kernel2.2.1 and shutdown on asus-pii-board
Date: 19 Feb 1999 23:19:43 -0600
Reply-To: Peter Samuelson <[EMAIL PROTECTED]>

[<[EMAIL PROTECTED]>]
> after installing the new kernel 2.2.1 (before it was 2.0.36) my
> system doas not turn off the computer after shutdown.  i have a "asus
> p2b" board. in the kernelconfig i used "CONFIG_APM_POWER_OFF=y".  any
> ideas?  in kernel 2.0.36 it worked realy fine!

Are you using SMP?

As noted in linux/arch/i386/kernel/apm.c, APM is not defined under SMP.
That means it probably won't work properly, so CONFIG_SMP disables
Linux APM support.  "By popular request", as it says, you can reenable
poweroff under SMP with the boot option "smp-power-off" (read up on
lilo.conf to see how to do this).

-- 
Peter Samuelson
<sampo.creighton.edu!psamuels>

------------------------------

From: [EMAIL PROTECTED] (Peter Samuelson)
Subject: Re: Porting SVR4 code to Linux
Date: 19 Feb 1999 23:36:15 -0600
Reply-To: Peter Samuelson <[EMAIL PROTECTED]>

[Douglas Jerome <[EMAIL PROTECTED]>]
> Socket code is in libc; you don't need a replacement for -lsocket.  I
> don't know what the nsl thing is.

I used to use an IRIX 4 box (SysV-based).  Oddly enough, BSD sockets
worked fine straight out of libc -- but the sockets emulation in
-lsocket would give you segfaults.  I always wondered why they shipped
libsocket if all it did was break your code.  Maybe there was a STREAMS
setup issue involved, or some sort of attempted backward compatibility.

-- 
Peter Samuelson
<sampo.creighton.edu!psamuels>

------------------------------

From: root <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.networking
Subject: Re: Linux programming jobs?
Date: 18 Feb 1999 11:49:47 +0100

[EMAIL PROTECTED] (Pavel V. Zaitesev) writes:


If you think that you can't find a job there, try here in Greece.
Besides the fact that programmers are horribly underpaid (less than
a dock worker for sure) you must have at least a BSc in Computer
Science not to mention most companies asking for an Msc.

I myself have just completed a BSc in Comp. Science at the local
university and I have learned one thing. No one wants employees to
work with UNIX'es. That's because no one runs any UNIX clone
at work ; most run Win NT (I have come across a company that runs
an AS/400 server ; where the **** am I supposed to know how to use
this thing ?)

Moreover most employers want programmers to work on 
applications like warehouse/logistic programs/tax calculators and 
of course all sorts of DATABASES. Essentially you have to know 
the inn's and out's of ORACLE Designer 2000 and Powersoft's Powerbuilder.
(there are some who ask for experience in object databases - 
object store etc.)

Any comments welcome,

However ... as one said, the availability of `serious' jobs 
(UNIX administration and programming) is analogous to the
financial and industrial status of the state/country.

Dimitris

PS.
Pavel, are you sure you want to do programming for the next 20 or so
years ? Since you are a linux guy, you might be more satisfied with
network administration. Programming is fine, as long as you are
programming the way you like and on a subject you enjoy. Most of
the time this isn't the case with commercial companies.

> Hello, fellow linux hackers.
> I'm currently looking for work, that involves linux/unix programming, but
> can find none. All jobs here require degree and /or 5-10 paid work
> experience. I am a little upset now, because local authorities changing
> law locally to allow programmer to work for more hours, but I couldn't
> find a single job. Would the problem be:
> 1. Bad resume
> 2. looking in the worng places
> 3. too dumb

> I am 20 and abviously have no degree, nor any paid work experience.
> I finished high school, I know linux/w95 well as well as C++, perl, Java,
> Pascal, sh, bash. I know how to setup any kind of software. Able to
> troubleshoot any software conflict. Currently I am working on a electronic
> sales system.
> Here in Victoria, BC. Canada, they are changing laws so that high tech
> employees can work more, but I see no sign of shortage of computer
> programmers. I applied at ~ 20 local places 2 interviews, one of them, was
> promising, but no can do. It seems like many employers are arrogant.
> I went to dice.com and hotjobs.com and they had few jobs, but most in the
> states or other side of Canda(toronto). Most of them required degree or
> large work experience periods. Should I even bother to apply?
> What tactics should I use?

> Thank you for your time.
>       Pavel
> 

------------------------------

From: "David Sisk" <[EMAIL PROTECTED]>
Subject: Explanation of Apache process and socket handling???
Date: Sat, 20 Feb 1999 23:09:36 -0500


Hi:

I'm trying to get an understanding of how Apache handles it's processes and
socket connections.  I'm assuming that Apache always connects with the
browser, retrieves the data, sends it back to the browser, then disconnects
(never keeping the connection to the browser open).  Someone please tell me
if that is a wrong assumption.

Here's the part I'm having difficulty with:

Apache has an HTTP parent process, and several HTTP child processes.  How
does this actually work?

1)  Does the parent process listen for a connection request from a browser,
then hand the socket connection request info to a child process?  (Can this
be done using the sockets sendmsg() and recvmsg() calls and the socket
request file descriptor?  I have the book entitled "Linux Application
Development", and it states that socket connection requests can be handed to
a totally different process with unix domain sockets, but it doesn't say
anything about inet sockets....???)  In other words, does the parent process
act as a "dispatcher", catching the requests but sending them on to the
child processes to do the actually work?  If this is true, does the child
process send the data directly back to the browser, or does it send it
through the parent process?  (I doubt the latter, unless the parent process
is multi-threaded.)  Finally, how does the parent process choose which child
process to hand the socket to?

2)  OR, does each child process listen for a connection request from a
browser, then connect to the browser, do the work and disconnect?  If so,
how does this work?  Can more than one process listen for a connection
request on the same socket name?

If anyone could offer any explanation, I would be truly grateful.  Doubly
thankful if you would email as well as posting!  (And btw, thanks to
everyone for the other answers last week.  I hope my questions are getting
more knowledgeable!)

Kindest regards,
--
David C. Sisk
The Unofficial ORACLE on NT site
http://www.ipass.net/~davesisk/oont.htm








------------------------------

From: [EMAIL PROTECTED] (Peter Samuelson)
Subject: Re: Dell WS designer wants to know...
Date: 20 Feb 1999 00:32:08 -0600
Reply-To: Peter Samuelson <[EMAIL PROTECTED]>

  [James Crouchet]
> > Intel 82371 (PIIX4E - PCI to ISA/IDE accelerator)
> > Intel 82093 (IOAPIC)
> > Intel 82440GX (440GX - CPU to memory/AGP/PCI controller)

Dunno.  They sound like standard components -- probably Linux either
supports them or could be hacked to support them without much
difficulty.  (For those who regularly hack at the hardware level, I
mean.  I couldn't do it, but there are several Linux developers I could
name that could.)

> > Pentium II Xeon.

Yes.  There was some publicity when someone (Mingo perhaps?) got a
pre-release quad-Xeon and spent a weekend hacking Linux onto it.  The
patches got merged in somewhere around 2.1.105 or .110.

> > Windows NT had no real trouble as I recall. What is the max real
> > memory for Linux? 
[Karl Heyes <[EMAIL PROTECTED]>]
> Linux currently handles 2gig without a problem. There was a debate
> about 4 gig, ie 2^32 as opposed 2^31, and a possible solution was
> determined (a ramdisk I believe).

Out of the box, Linux supports 1 gig.  If you want 2 gig real memory
you have to change a setting in a header file (look for __PAGE_OFFSET
in linux/include/asm-i386/page.h).  You can't go over 2 gig without
*major* hacking.  Linus's view is that this is not worth doing -- if
you really need that much memory you also really need a 64-bit CPU.
Needless to say, Linux supports a huge address space on Alphas....

For a ramdisk, I think you'd have to hack the code to make it use the
"high" memory.  Having done this, you could simply have your boot
scripts mkswap/swapon the ramdisk block dev.

-- 
Peter Samuelson
<sampo.creighton.edu!psamuels>

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.development.system) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Development-System Digest
******************************

Reply via email to