Address family not supported by protocol family: bind

Over the past few days a number of users have reported connection issues with our application. We've been able to track the problem to this line of code:
ServerSocketChannel sc = ServerSocketChannel.open();
sc.socket().bind(new InetSocketAddress("localhost", 0)); <- error thrown
The following error is thrown:
java.net.SocketException: Address family not supported by protocol family: bind
sun.nio.ch.Net.bind(Native Method)
sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
I've read this is something to do with an IPv4 / IPv6 issue. But what I don't understand is that our users have had this working fine for months and we've never had any problems in the past, but within the last couple of days 10 people have contacted us, all with the same issue. We've not released any patches so we've not introduced the problem. Does anyone know what might have changed in the past few days? Did Microsoft release a patch to modify the IPv 4 / 6 protocols?
Apparently the issue might be resolved in Java7, but we have thousands of users, and rolling out a new version of Java is a big upheaval.
Any ideas???
BBB

It uses a JRE that is isolated for our application, so Java updates 'shouldn't' affect it. I have a sneaking suspicion that a Vista update may have changed something, but I can't be sure.
I'm working through the problem with one of our users, and I've changed the code from:
ServerSocketChannel sc = ServerSocketChannel.open();
sc.socket().bind(new InetSocketAddress("localhost", 0));To
ServerSocket sc = new ServerSocket();
sc.bind(new InetSocketAddress("localhost", 0));This works and I'm able to get an available port. However, later in the code it runs this section of code to connect the socket:
     void connect() throws IOException, InterruptedException {
          int retry;
          for (retry = 0; retry < MAX_RETRY; retry++) {
               try {
                    channel = SocketChannel.open();
                    channel.configureBlocking(false);
                    //connect to server
                    channel.connect(serverAddr);
                    //register events to listen
                    channel.register(selector, SelectionKey.OP_CONNECT);
                    while (!channel.isConnected()) {
                         if (selector.select(1) > 0) {
                              Set readyKeys = selector.selectedKeys();
                              Iterator i = readyKeys.iterator();
                              while (i.hasNext()) {
                                   SelectionKey key = (SelectionKey) i.next();
                                   i.remove();
                                   SocketChannel keyChannel = (SocketChannel) key
                                             .channel();
                                   if (key.isConnectable()) {
                                        if (keyChannel.isConnectionPending()) {
                                             keyChannel.finishConnect();
                                        break;
                    break;
               } catch (Exception e) {
                    channel.close();
                    channel = null;
                    try {
                         Thread.sleep(150);
                    } catch (Exception ex) {
          if (retry == MAX_RETRY) {
               throw new InterruptedException("Maximum retry number reached!");
          channel.register(selector, SelectionKey.OP_READ);
     }It's now falling over on this line:
channel.connect(serverAddr);
java.net.SocketException: Address family not supported by protocol family: connect
serverAddr is a InetSocketAddress, channel is a SocketChannel, which appears not to be supported on the machine that are having these connection issues.
I'll be honest, I have little or no experience of implementing Sockets, and since I can't replicate the actual problem that our users are having it makes it even hard to fix it or try to code a workaround. The code above is from an OpenSource project, i.e. it's not something I wrote. In other words, I'm kinda up the 'proverbial creek'!
Could anybody be kind enough to steer me in the right direction for a workaround that doesn't use a SocketChannel? It really would be appreciated!
BBB

Similar Messages

  • Ffserver can't start. (Address family not supported by protocol)

    Does anyone can successfully use the latest ffserver from Arch ? It refuse to start and give me the "Address family not supported by protocol"  on my system.
    The ffserver error message is:
    $ ffserver -f ./ffserver.conf
    ffserver version 0.7.6, Copyright (c) 2000-2011 the FFmpeg developers
    built on Oct 3 2011 13:04:32 with gcc 4.6.1 20110819 (prerelease)
    configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug
    libavutil 50. 43. 0 / 50. 43. 0
    libavcodec 52.122. 0 / 52.122. 0
    libavformat 52.110. 0 / 52.110. 0
    libavdevice 52. 5. 0 / 52. 5. 0
    libavfilter 1. 80. 0 / 1. 80. 0
    libswscale 0. 14. 1 / 0. 14. 1
    libpostproc 51. 2. 0 / 51. 2. 0
    bind(port 8090): Address family not supported by protocol
    and the ffserver.conf is just as simple as follows:
    Port 8090
    # bind to all IPs aliased or not
    BindAddress 127.0.0.1
    # max number of simultaneous clients
    MaxClients 1000
    # max bandwidth per-client (kb/s)
    MaxBandwidth 10000
    # Suppress that if you want to launch ffserver as a daemon.
    NoDaemon
    <Feed feed1.ffm>
    File /tmp/feed1.ffm
    FileMaxSize 800M
    </Feed>
    <Stream status.html>
    Format status
    </Stream>
    <Stream test.swf>
    Feed feed1.ffm
    Format swf
    VideoCodec flv
    NoAudio
    # Audio bit rate at 16 instead of 44 reduces bandwidth a lot! ;)
    # AudioBitRate 16
    # idem for sample rate
    # AudioSampleRate 22050
    # Bitrate for the video stream: QUADRATAZZI
    VideoBitRate 90
    # Ratecontrol buffer size, non esagerare, meno e' meglio (?!?)
    VideoBufferSize 1000
    # Number of frames per second: SCATTICAZZI
    VideoFrameRate 3
    #VideoQMin 1
    #VideoQMax 5
    VideoSize 352x288
    PreRoll 15
    #Noaudio this if you want video only
    </Stream>
    some basic info on my system is:
    $ pacman -Q ffmpeg linux glibc
    ffmpeg 20111003-1
    linux 3.0.6-2
    glibc 2.14-6
    Any help is welcome.

    Does anyone can successfully use the latest ffserver from Arch ? It refuse to start and give me the "Address family not supported by protocol"  on my system.
    The ffserver error message is:
    $ ffserver -f ./ffserver.conf
    ffserver version 0.7.6, Copyright (c) 2000-2011 the FFmpeg developers
    built on Oct 3 2011 13:04:32 with gcc 4.6.1 20110819 (prerelease)
    configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug
    libavutil 50. 43. 0 / 50. 43. 0
    libavcodec 52.122. 0 / 52.122. 0
    libavformat 52.110. 0 / 52.110. 0
    libavdevice 52. 5. 0 / 52. 5. 0
    libavfilter 1. 80. 0 / 1. 80. 0
    libswscale 0. 14. 1 / 0. 14. 1
    libpostproc 51. 2. 0 / 51. 2. 0
    bind(port 8090): Address family not supported by protocol
    and the ffserver.conf is just as simple as follows:
    Port 8090
    # bind to all IPs aliased or not
    BindAddress 127.0.0.1
    # max number of simultaneous clients
    MaxClients 1000
    # max bandwidth per-client (kb/s)
    MaxBandwidth 10000
    # Suppress that if you want to launch ffserver as a daemon.
    NoDaemon
    <Feed feed1.ffm>
    File /tmp/feed1.ffm
    FileMaxSize 800M
    </Feed>
    <Stream status.html>
    Format status
    </Stream>
    <Stream test.swf>
    Feed feed1.ffm
    Format swf
    VideoCodec flv
    NoAudio
    # Audio bit rate at 16 instead of 44 reduces bandwidth a lot! ;)
    # AudioBitRate 16
    # idem for sample rate
    # AudioSampleRate 22050
    # Bitrate for the video stream: QUADRATAZZI
    VideoBitRate 90
    # Ratecontrol buffer size, non esagerare, meno e' meglio (?!?)
    VideoBufferSize 1000
    # Number of frames per second: SCATTICAZZI
    VideoFrameRate 3
    #VideoQMin 1
    #VideoQMax 5
    VideoSize 352x288
    PreRoll 15
    #Noaudio this if you want video only
    </Stream>
    some basic info on my system is:
    $ pacman -Q ffmpeg linux glibc
    ffmpeg 20111003-1
    linux 3.0.6-2
    glibc 2.14-6
    Any help is welcome.

  • SRWC 2.2_13 Option not supported by Protocol

    Hi,
    First of all, I know what i'm trying to do is unsupported however my question remains.
    I'm trying to run the EA1 bits on my Vostro Laptop running Solaris Express Build 107.
    Installation of SRSS 4.2 EA1 runs just fine, aswell the installation of SRWC 2.2. However if i try to connect
    to a windows environment i'm getting
    SO_KEEPALIVE: Option not supported by protocol
    SO_KEEPALIVE: Option not supported by protocol
    /opt/SUNWuttsc/bin/uttsc[104]: 7543 Segmentation Fault
    Does anyone have some pointers where I could check to get srwc 2.2_13 running on Solaris Express?
    Regards,
    patrick

    You can ignore the SO_KEEPALIVE messages. They're caused by a bug in the 'uttsc-bin' program (which is the real SRWC program, 'uttsc' is just a launcher) but they're harmless. You might see similar messages in other SRSS logfiles, you can ignore those too.
    The segfault is the killer. There's probably nothing you can do about that yourself, but if you can capture a corefile from the failing process and send that to Sun then they should be able to figure out what's going wrong and either fix it or tell you how to work around it. To do that you'll first have to use 'coreadm' to enable corefile collection for set[ug]id processes. By default cores aren't generated for programs that run with elevated privilege. That'll go something like this:
    mkdir -p -m 0700 /var/core/uttsc-bin
    coreadm -g /var/core/%f/%p-%t
    coreadm -e global-setid
    Then run 'uttsc' and after it reports the segfault look in /var/core/uttsc-bin for a core file whose name is <process-id>-<timestamp>. That's the core file you should send to Sun. To do that, send a message to the SRS5 EA feedback mail address or follow up in this thread and someone will give you an address to send it to. (Don't send the core file to the EA feedback address. It'd be rude to broadcast such a large file to all of the people who are monitoring that address.)

  • Error In Receiver BC adapter(EOIO not supported by protocol BC.)

    Hi Experts ,
    My Scenario is ABAP proxy to SAP BC .I had  bellow error  in Receiver BC adapter .
    Adapter Framework caught exception: Delivery semantics EOIO not supported by protocol BC.
    Error Delivering the message to the application using connection BC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.InvalidParamException: Delivery semantics EOIO not supported by protocol BC..
    Please help how to resolve this .
    Regards
    Upendra.V
    Edited by: upendra v on Oct 4, 2010 2:08 PM

    HI Anuradha,
    Check the below link for receiver mail configuration and follow the steps accordingly.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a0a27c01-26b0-2c10-bd8a-94498efa7ff6?quicklink=index&overridelayout=true
    Regards,
    Naveen

  • Fatal error: Client does not support authentication protocol requested by server; consider upgrading MySQL client

    Fatal error: Client does not support authentication protocol
    requested by server; consider upgrading MySQL client in
    /homepages/28/d74942468/htdocs/cosmic/sites/onlinemove/Connections/db.php
    on line 9
    This is the error that comes up on the server where the site
    sits. The database is working on my local machine with the local
    settings, but wont connect due to the above.
    I think im using MySQL client 3.23 How do i upgrade?
    I found this on MySQL site:
    http://dev.mysql.com/doc/refman/5.0/en/old-client.html
    I'm not sure how to edit the connection string to make it
    accept the vaules.

    The_FedEx_Guy wrote:
    > Fatal error: Client does not support authentication
    protocol requested by
    > server; consider upgrading MySQL client in
    >
    /homepages/28/d74942468/htdocs/cosmic/sites/onlinemove/Connections/db.php
    on
    > line 9
    > I think im using MySQL client 3.23 How do i upgrade?
    The MySQL client that the error refers to isn't the version
    of MySQL,
    but the MySQL library bundled with PHP. It sounds as though
    your hosting
    company has upgraded to MySQL 4.1 or higher, but is still
    using PHP 4.
    > I'm not sure how to edit the connection string to make
    it accept the vaules.
    You can't. It's the way that the user account passwords are
    stored in
    MySQL. You need to get the hosting company to upgrade to PHP
    5 or to
    reset the passwords in MySQL using the OLD_PASSWORD()
    function. This
    needs to be done by someone with top-level administrative
    privileges on
    the database.
    David Powers, Adobe Community Expert
    Author, "Foundation PHP for Dreamweaver 8" (friends of ED)
    Author, "PHP Solutions" (friends of ED)
    http://foundationphp.com/

  • "Desktop does not support requested protocol" - vmware client on OS X 10.8

    Down loaded vmware client 1.7 on myiMac running Mountain Lion. I get the following issue - "Desktop does not support requested protocol"
    Can anyone advise or guide me?

    Thank you, understood, and I will not uninstall anything, but do I install this current update 3.8.2. v1.1?
    My current system does not match what is needed for it according to the information on this page ...
    http://support.apple.com/en-us/HT201068
    The system requirements needed for the update are OS X 10.9 or later, and my system is OS X 10.8.5.

  • Address book not supported on this architecture

    Hi, can anyone point me in the right direction? My address book no longer opens and displays "You cannot open the application "Address Book" because it is not supported on this architecture." the icon itself has changed to sheets of paper with a ruler, pencil with a big circle and diagonal line.

    I'm having the same problem. It happened after i upgraded to 10.5.8. It stopped working after the upgrade. I recovered the old address book from my time capsule from this morning, and that's when i got the "not supported on this architecture" message.
    thanks
    Message was edited by: mdgeek27

  • Class-map does not support match protocol ssl

    I have several 1941/k9's that do not have the class-map command: to suppot ssl.  System image is c1900-universalk9-mz.SPA.152-1.T.bin.
    class-map match-any af31
    match protocol ssl  <-- missing.
    I did some google searches but come up with nothing. 
    Is the fix to upgrade IOS?  I have found it on other routers running c1900-universalk9-mz.SPA.152-4.M4.bin.  I would just upgrade and check but have an extensive change review board with questions before doing so.
    Thanks for advice,
    Haydn

    Disclaimer
    The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
    Liability Disclaimer
    In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
    Posting
    I'm not current on NBAR (or NBAR 2), but NBAR used to support loadable modules (PDMs?).  Sometimes Cisco would provide those so you could add match protocols without upgrading your IOS.
    Otherwise the "fix" would be to upgrade your IOS.
    Lastly, depending on what it matching SSL really means to you, using port based ACLs might suffice (in fact, some NBAR match protocol is only really that, but some NBAR matches regardless of the port usage).
    PS:
    Also on the subject of SSL, don't forget much can use it.  I once matched on it for the purposes of providing secure shell higher queuing priority, worked great for SSH, not so great when secure copy (SCP) also matched against it.

  • My iphone has rejected outgoing emails with the message that the servers has rejected my email address because it does not support relay??

    My iphone has rejected all outgoing emails with the message that the server has rejected my mail and psted it to my outbox because my email address does not support relay??

    Go into Settings>Mail, Contacts, Calendars>your account>Outgoing mail ServerSMTP>Primary Server then turn Server ON and fill in both User Name + Password under Outgoing Mail Server.

  • Does GNOKII support smpp protocol?

    I read that smslib does not support
    smpp protocol .....so I want to
    know does GNOKII support smpp
    protocol?

    Hi,
    From what I understand optomux is a standard that determines the syntax of the command sent. The commands are sent through serial or Ethernet. You can use LabVIEW (the VISA VIs) to communicate with a device using serial or Ethernet. However, there are no VIs that will build the optomux commands.
    I'm not familiar with them, but you can check out the optomux VIs included with the Fieldpoint explorer. That should give you an idea of how to use the VISA to implement optomux communication.
    DiegoF
    National Instruments.

  • I have problem with fonts for my site, i have used "Lucida sans unicode " family for certain texts. it shows perfect in mozilla 3.5 and mozilla 4. But the font not supporting in mozilla 5.0? please help me

    i have problem with fonts for my site, i have used "Lucida sans unicode " family for certain texts. it shows perfect in mozilla 3.5 and mozilla 4. But the font not supporting in mozilla 5.0? please help me

    i have problem with fonts for my site, i have used "Lucida sans unicode " family for certain texts. it shows perfect in mozilla 3.5 and mozilla 4. But the font not supporting in mozilla 5.0? please help me

  • Difference between address-family ipv6 and address-family ipv6 labeled unicast

    Hello Experts,
    Can someone explain me the difference between address-family ipv6 and address-family ipv6 labeled unicast. Per my understanding, i think both of them are used to send labelled IPv6 prefix advertisements through BGP..If so, are the following configs same?
    address-family ipv6
    neighbor 192.168.0.1 activate
    neighbor 192.168.0.1 send-label
    router bgp 10
    neighbor 192.168.0.1
    address-family ipv6 labelled unicast
    Please let me know if my understanding is correct
    Thanks
    Mukundh

    Thanks for the reply Nagendra...
    I have another related query regarding this. We have BGP neighborship flapping between 2 routers ...One is Cisco 7204 and another is Juniper M120 I think.... The Juniper logs show that BGP is flapped due to family inet6 not configured on the Juniper end and Juniper is receiving BGP advertisements with native IPv6 as next hop from Cisco when it shouldn't be receiving that.. The following are commands on Cisco and Juniper...
    ##### CISCO####
    outer bgp 5603
    neighbor 95.176.254.10 inherit peer-session LAR  neighbor 95.176.254.10 description --- M320-LAB-LJ-CIGALETOVA  address-family ipv4
      neighbor 95.176.254.10 activate
      neighbor 95.176.254.10 inherit peer-policy LAR-ipv4  address-family ipv6
      neighbor 95.176.254.10 activate
      neighbor 95.176.254.10 send-community both
      neighbor 95.176.254.10 route-reflector-client
      neighbor 95.176.254.10 send-label
    template peer-session LAR
      remote-as 5603
      update-source Loopback0
      timers 30 90
    exit-peer-session
    template peer-policy LAR-ipv4
      route-map LAR-ipv4-out out
      route-reflector-client
      soft-reconfiguration inbound
      send-community both
    exit-peer-policy
    ####JUNIPER####
    protocols{bgp{
    group I-BGP-IPV4 {
                type internal;
                family inet {
                    unicast;
                family inet6 {
                    labeled-unicast {
                        explicit-null;
                export RR-Export-All;
                neighbor 95.176.255.254 {
                    description C7201-RR-IP-CIGALETOVA;
                    local-address 95.176.254.10;
                neighbor 95.176.255.252 {
                    description C7201-RR-IP-CIGALETOVA;
                    local-address 95.176.254.10;
    By the cisco command above, shouldn't cisco be sending only labelled ipv6 prefixes or am I wrong in this. And if Cisco sends both unlabelled and labelled prefixes, is there a way to make it send only ipv6 prefixes?
    Thanks
    Mukundh

  • TFTP, Protocol does not support listing directories

    Hi everyone,
    I am trying to install patch for PI 1.4 because of the browser problem. I have downloaded the patch.
    I also have read the post https://supportforums.cisco.com/docs/DOC-26972#comment-22434 and followed the steps described.
    I created repository and try to make the tftp server's root directory into the repository, as u can see in the picture below. Is it correct? Because when I want to display the file contain in the repository, the error message shown "Protocol does not support listing directories", what does it mean?
    Thanks.

    Here's another way:::
    1)  From your PC launch a CMD Prompt
    2)  CD to the directory where the patch is installed
    3)  ftp xxx.xxx.xxx.xxx (this is the IP address of the NCS/PI server)
    4)  login as ftp-user
    5)  enter the password created during the install of NCS/PI for the ftp user account (if you don’t know it, you can change it by entering
    ncs password ftpuser ftp-user password
    6)  type bin then press return
    7)  type hash then press return
    8)  type put
    9)  login to the CLI of the NCS/PI server as an admin user
    10) type dir disk:ftp and you’ll see the file stored in the /localdisk/ftp directory on the disk
    11) if you don’t have a repo pointing to disk:ftp then create one using
         a) config t
         b) repository localftp
         c) url disk:/ftp
         d) exit
    12) type ncs stop
    13) type patch install localftp
    Note: if a PC firewall is enabled, you may have to disable it in order to get the file transfer to work

  • Conditional Route Advertisement - VRF Address Family?

    I would like to do conditional route advertisement within an IPv4 vrf address family but the "neighbor x advertise-map" command is not available within the vrf address family (at least in the code version I have). It is available in non-vrf address families.
    Command/Config reference guides do not show any limitations regarding the command. Before I upgrade code (which may not be possible with my current platform) I wanted to see if anyone is doing this or if there is another way to accomplish the same task.
    Thanks
    -Ed-

    Hi,
    are you talking about PE->CE or PE->PE/RR ?

  • Address family vpn4/ipv4 for EBGP

    What is the difference between "address family vpnv4" and address family ipv4", do I have to configure both for an EBGP session ?
    Thanks
    NK

    VPNv4 is used for the support of MPLS VPN as described by draft-ietf-l3vpn-rfc2547bis-03.
    http://www.ietf.org/internet-drafts/draft-ietf-l3vpn-rfc2547bis-03.txt
    IPv4 is for the support of regular ipv4 addresses.
    You may need to enable vpnv4 or/and ipv4 depending on what you want to do.
    Let me know if I answered your question,

Maybe you are looking for

  • Is it possible to bypass the "Album" in a display of photos?

    In other words, I want to use the structure of the Albums hierarchy (group of photos ina an album) but skip the page where you see all the pictures and go straight to the zoomed in page. I'd like to go from this page: http://web.me.com/jennlabelle/Mo

  • How can I make all my tracks start at the same time? In bar 0 to be more specific

    HI! I want all my tracks to start at the same time. I need teh audio files to start at bar numer cero.

  • WBS element number ranges

    Hi, I want to know how to maintain number ranges for WBS elements. Tcode:SNUM and the object is PRPS. we have 2 ranges  01----   001-099                            02---- 100-199 At present 01 is being used but want to change it to 02.How to do it. T

  • Question about UTLMAIL in 10g

    It seems that you have to be logged in as user sys in order to make UTLMAIL work. I'd like to create a procedure that looks something like this SQL> declare 2 vsender varchar2(30) := '[email protected]'; 3 vrecipient varchar2(30) :='[email protected]

  • Why is Safari blocking flash plugins and how do i fix this?

    Just as the tittle says. I upgraded flash and all that jazz and nothing....What could I not be doing to fix this? Any help is great thanks.