Bug 8654
Summary: | possible connect() bug | ||
---|---|---|---|
Product: | Networking | Reporter: | Sergey V. Efimoff (risky) |
Component: | Other | Assignee: | Arnaldo Carvalho de Melo (acme) |
Status: | REJECTED UNREPRODUCIBLE | ||
Severity: | low | CC: | ahiliation, hardeepsingh.interiors |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | Linux version 2.6.21.1 (risky@001134.localnet) (gcc version 3.3. | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Sergey V. Efimoff
2007-06-20 03:59:55 UTC
Subject: Re: [Bugme-new] New: possible connect() bug > On Wed, 20 Jun 2007 03:56:28 -0700 (PDT) bugme-daemon@bugzilla.kernel.org > wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=8654 > > Summary: possible connect() bug > Product: Networking > Version: 2.5 > KernelVersion: Linux version 2.6.21.1 (risky@001134.localnet) (gcc > version 3.3. > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: low > Priority: P1 > Component: Other > AssignedTo: acme@ghostprotocols.net > ReportedBy: risky@mail.ru > > > ... > > 01:01.0 Ethernet controller: Intel Corp. 82547GI Gigabit Ethernet Controller > Subsystem: Micro-Star International Co., Ltd.: Unknown device 1490 > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- > Stepping- SERR- FastB2B- > Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- > <TAbort- <MAbort- >SERR- <PERR- > Latency: 0 (63750ns min), cache line size 08 > Interrupt: pin A routed to IRQ 11 > Region 0: Memory at fb100000 (32-bit, non-prefetchable) [size=128K] > Region 2: I/O ports at b000 [size=32] > Capabilities: [dc] Power Management version 2 > Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA > PME(D0+,D1-,D2-,D3hot+,D3cold+) > Status: D0 PME-Enable- DSel=0 DScale=1 PME- > > ... > > Minimal slackware installation, kernel downloaded from kernel.org > > Problem Description: > > connect() syscall normally reports "no route to host" when is called while > network cable is > unplugged, and ethernet interface is up and configured. But it hangs > eternally > and utilizes > processor up to 100% if one tries to plug ethernet cable in, here two cases: > a) socket is blocking, connect() is called and did not completed, current > syscall hangs > b) socket is non-blocking, connect() normally returns EINPROGRESS, next > syscall > hangs > > Steps to reproduce: > > Just try to plug ethernet cable in while trying to connect() > That might be a device driver bug. Please generate a kernel profile while it is occuring (Documentation/basic_profiling.txt) and/or generate a few sysrq-P traces. Send them via emailed reply-to-all to this email. I'll be travelling for the next few days, but hopefully one of the netdev developers will be able to work with you on this, thanks. Why is this assigned to Arnaldo? I find it hard to believe this is a driver bug right now ... the stack should be able to handle a device being plugged in I think ;) I tried to reproduce this today on 2.6.22 X86_64 without success. If I leave the cable unplugged I get "no route to host", if I plug the cable in during the connect() call the call actually succeeds. I don't see how it could be a driver bug - but my test was with a different nic than the original poster: 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01) (In reply to comment #3) > I tried to reproduce this today on 2.6.22 X86_64 without success. > > If I leave the cable unplugged I get "no route to host", if I plug the cable > in > during the connect() call the call actually succeeds. > > I don't see how it could be a driver bug - but my test was with a different > nic > than the original poster: > > 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI > Express Fast Ethernet controller (rev 01) > how can you plug in the cable during the call ? please tell me how to issue a connect system call and then try plugging in the cable. |