Airport Extreme appears to have memory leak; sluggish after long uptime

For a long time now, I have been frustrated by what appears to be a memory leak in the Airport Extreme firmware. After the unit has been running for a few weeks (and this varies from one week to one month approximately), the WLAN to LAN routing performance will drop drastically. It will go from ping times (from a WLAN host to a LAN host) of 1 mS or less to ping times in excess of one second.
In this broken state, all traffic through the unit is dog slow. Doesn't matter what the traffic is-- if it's to and from the wireless LAN, it's going to take forever.
If I power cycle the Airport Extreme, the problem will go away for another few weeks. I have dealt with this issue for several years with the hope that eventually a firmware upgrade would come that fixed it. So far, no such fix.
Is anyone else experiencing this sort of behavior? When it isn't sluggish, the unit works wonderfully with Mac, Windows and Linux wireless clients so I have no reason to blame anything but the Extreme... particularly since the bandaid is a power cycle of it.
All of my clients are 802.11b/g, no 'n' in service here.

Boot into safe mode (restart holding down SHIFT key). If no KP, then uninstall and reinstall those 3rd-party items that Roger pointed out, one at a time, and restart. Continue until you determine which ones are causing the problem. If KP while in safe mode, then most likely hardware related. Run the Apple Hardware Test suite, extended tests at least twice, followed by Rember.  See
OS X About kernel panics,
Technical Note TN2063: Understanding and Debugging Kernel Panics,
Mac OS X Kernel Panic FAQ,
Resolving Kernel Panics,
How to troubleshoot a kernel panic, and
Tutorial: Avoiding and eliminating Kernel panics for more details.

Similar Messages

  • Applescript Image Events appears to have memory leak (or I don't know what I am doing)

    Using Image Events to create images and thumbnails for a website. The following code results in very large memory leaks in Image Event process. I have documented results of test runs in the comments.
    The leak (or poor coding on my part) results in a total system halt if I attempt to process more than about 400 images at a time. Basically, I run out ot physical memory. I am running a new model 13" MBP with 8GM RAM.  I have to manually stop Image Events to reclaim the memory (or reboot of course).
    Any help/suggestions would be appreciated.
    (* test memory leak in Image Events *)
              tests with 58 photos selected in iPhoto
              5.7 MB left in Image Events after run with only open and close
              22.0 MB left in Image Events after run with open, save and close
              45.9 MB left in Image Events after run with open, scale, save and close
              A run with 382 photos selected used OVER 3.8 GB (gigabytes) and the
              mac ran out of physical memory so I had to stop the test.
    tell application "Finder"
              set imageFolder to folder "test" of home as alias
    end tell
    tell application "iPhoto"
              set currPhotoList to the selection
              repeat with currPhoto in currPhotoList
                        log name of currPhoto as string
                        set theImagePath to image path of currPhoto
                        tell application "Image Events"
      launch
                                  set theImage to open theImagePath
      scale theImage to size 128
      save theImage in imageFolder as JPEG with icon
      close theImage
                        end tell
              end repeat
    end tell
    --- end of code example

    Does the following code do any difference? Most likely no I guess… but better try than nothing.
    tell application "Finder"
        set imageFolder to folder "test" of home as text -- instead of “as alias” (see theTargetPath below)
    end tell
    set theImagePaths to {}
    set theImagePathsRef to a reference to theImagePaths -- faster with big lists
    tell application "iPhoto"
        set currPhotoList to the selection
        repeat with currPhoto in currPhotoList
            log name of currPhoto as string
            get POSIX file (image path of currPhoto) as alias -- faster ?
            copy result to the end of theImagePathsRef
        end repeat
    end tell
    tell application "Image Events"
        launch
        repeat with theImagePath in theImagePaths
            set theImage to open theImagePath
            scale theImage to size 128
            set theTargetPath to (imageFolder & name of theImagePath)
            save theImage in theTargetPath as JPEG with icon
            close theImage
        end repeat
    end tell

  • I have my Time Machine on an external drive (not connected to Airport Extreme) and I have an external HD attached to airport extreme. Is it possible to have Time Machine backUp computer HD AND external HD connected to Airport Extreme. How?

    I have my Time Machine on an external drive (not connected to Airport Extreme) and I have an external HD attached to airport extreme. Is it possible to have Time Machine backUp computer HD AND external HD connected to Airport Extreme. How?

    Is it possible to have Time Machine backUp computer HD AND external HD connected to Airport Extreme.
    Sorry, but no.
    Time Machine will backup your Mac, but not the hard drive attached to the AirPort Extreme.
    Time Machine will back up a hard drive only if it is attached directly to your Mac via USB or FireWire.

  • How do I forward a port on my Airport Extreme? I have a Belkin @TV (it's like a sling box), and to watch it over cellular on my iPhone I need to forward the port 49177 in the router settings.

    How do I forward a port on my Airport Extreme? I have a Belkin @TV (it's like a sling box), and to watch it over cellular on my iPhone I need to forward the port 49177 in the router settings. A simple set of instructions would be greatly appreciated.

    How to Port Forward on AEBS

  • I have just bought a Humax PVR and Humax W-Lan dongle to connect to my Airport Extreme. I have put the mac address into the AE. The installation screen is picking up my network name no problem but it won't connect to the internet. Can anyone help please?

    I have just bought a Humax 7500T PVR and a Humax W-Lan dongle to connect to my Airport Extreme.
    I have put the mac address into the AE. The installation screen on my TV is picking up the network name but once appied it won't connect to the internet.
    I've a few other things connected to the AE such as computers, ipad, itouch, etc, and have never had a problem connecting these once I've entered the mac address into the AE. Can anyone help me with this please?

    have you made sure that the network setting in the system preferences is set up to use dhcp? if not i would try changing it so that it shows that it is getting its address by dhcp

  • Since the itunes 10.4.1 update  I have memory leaks problems.

    Since the itunes 10.4.1 update  I have memory leaks problems, Itunes used memory start at about 100 megs as usual but when it play the ram usage climb about 4 kb per second ( one time I had itunes using 690 megs !). I had to periodically close and restart Itunes to clear the memory.
    Someone has suggestion to resolve this problem?

    Same issue, Running Windows 7 x64 with 6 Gigs of RAM and have iTunes 10.4.1 32bit version.
    I wanted to break in some headphones over the weekend, so left it playing a loop of songs. Came back on Monday to see my machine using a huge amount of RAM and iTunes just froze.
    Here is a shot of my Task Manager showing iTunes was using 1.5gigs of Memory.

  • OracleBulkCopy have memory leak

    I have a simple code that caus a memroy leak only when it used OracleBulkCopy:
    static void DoAll(bool withoutBulkCopy)
    using (OracleConnection oracleConnection =
    new OracleConnection("User Id=apolyakov;Password=oracle;Data Source=OPE"))
    oracleConnection.Open();
    using (OracleCommand command = oracleConnection.CreateCommand())
    command.CommandText = "truncate table test_a";
    command.ExecuteNonQuery();
    using (DataTable dataTable = new DataTable("test_a"))
    using (OracleDataAdapter adapter = new OracleDataAdapter("select * from test_a", oracleConnection))
    adapter.Fill(dataTable);
    Console.WriteLine("Begin generating of data (total memory used: {0})", GC.GetTotalMemory(false));
    Random random = new Random();
    for (int i = 0; i < 50000; ++i)
    byte[] bytes = new byte[1024];
    random.NextBytes(bytes);
    dataTable.Rows.Add(random.Next(), random.Next(), Convert.ToBase64String(bytes));
    Console.WriteLine("Generation of DataTable is {0}", GC.GetGeneration(dataTable));
    Console.WriteLine("End generating (total memory used: {0})", GC.GetTotalMemory(false));
    if (!withoutBulkCopy)
    Console.WriteLine(string.Format("Begin writing"));
    using (OracleBulkCopy bulkCopy = new OracleBulkCopy(oracleConnection))
    bulkCopy.BatchSize = 10000;
    bulkCopy.NotifyAfter = 10000;
    bulkCopy.BulkCopyTimeout = 100;
    bulkCopy.OracleRowsCopied += new OracleRowsCopiedEventHandler(bulkCopy_OracleRowsCopied);
    bulkCopy.DestinationTableName = "test_a";
    bulkCopy.WriteToServer(dataTable);
    Console.WriteLine(string.Format("End writing (total memory used: {0})", GC.GetTotalMemory(false)));
    static void bulkCopy_OracleRowsCopied(object sender,OracleRowsCopiedEventArgs eventArgs)
    Console.WriteLine("Wrote {0} rows.", eventArgs.RowsCopied);
    [STAThreadAttribute]
    static void Main(string[] args)
    try
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(false), Process.GetCurrentProcess().WorkingSet64);
    DoAll(false);
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(false), Process.GetCurrentProcess().WorkingSet64);
    Console.WriteLine("Run collect, press enter to continue");
    Console.ReadLine();
    GC.Collect();
    GC.GetTotalMemory(true);
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(true), Process.GetCurrentProcess().WorkingSet64);
    Console.WriteLine("End of collecting");
    Console.ReadLine();
    catch (Exception ex)
    Console.WriteLine(ex.Message);
    Console.ReadLine();
    DML for table test_a: "create table test_a (a number, b number, c nvarchar2(2000));"
    When I run method 'DoAll(false)' it takes a ~147MB managed memory and ~307MB total physical memory. After memory collecting it takes a 0.1MB managed and 161MB physical memory. When I set flag 'withoutBulkCopy' to 'true' and ran application again it took same size of managed memory, but 190MB physical memory and after collecting it took 51MB physical.
    If I use System.Data.SqlClient instead of Oracle.DataAccess.Client in this application it takes normal memory size, and after collecting it return to OS almost all memory (19MB physical memory usage).
    System: ODAC 11.1 (1110621), .NET Framework 2.0, WinXP SP3, Oracle Database 10g2
    This is a very important problem, because in real case we have a 137 column datasource with 500k rows. And we lost 500-700MB memory =((
    Please, answer to me how I can avoid this memory leak.
    Thanks.
    Edited by: Cloun on Feb 9, 2009 6:10 PM

    You have problem because the batch size property has value *10000* and amount of records(*50000*) bigger than this value.
    You can retrieve workaround from my post (OracleBulkCopy have memory leak  if BatchSize is less than record's count.

  • OracleBulkCopy have memory leak  if BatchSize is less than record's count.

    OracleBulkCopy::WriteToServer(IDataReader reader) have memory leak if BatchSize property is less than amount of record which were retrieved from IDataReader.
    We know workaround for that, but when this problem will be fixed?
    Code source at the bottom:
    *****************File::Program.cs*****************
    using System;
    using System.Configuration;
    using System.Data;
    using System.Diagnostics;
    using Oracle.DataAccess.Client;
    namespace WindowsApplication
    static class Program
    private static DataTable _testTable = new DataTable("TestData");
    private static int _batchSize = 10000;
    private static int _totalRecordForTest = 100000;
    private static int _bulkTimeOut = 600;
    private static string _targetConnectionString;
    private static string _targetTableName;
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    _testTable.ReadXmlSchema("tmp.data.schema");
    _testTable.ReadXml("tmp.data");
    _targetConnectionString = ConfigurationManager.AppSettings["targetConnectionString"];
    _targetTableName = ConfigurationManager.AppSettings["targetTableName"];
    _batchSize = int.Parse(ConfigurationManager.AppSettings["batchSize"]);
    _totalRecordForTest = int.Parse(ConfigurationManager.AppSettings["totalRecordForTest"]);
    _bulkTimeOut = int.Parse(ConfigurationManager.AppSettings["bulkTimeOut"]);
    PerformCorrectTest();
    Console.WriteLine("Do you want to perform memory leak test?(If no then click cancel key)");
    if (Console.ReadKey().Key != ConsoleKey.Escape)
    PerformMemoryLeakTest();
    Console.ReadKey();
    _testTable =null;
    public static void PerformCorrectTest()
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(false),
    Process.GetCurrentProcess().WorkingSet64);
    using (VirtualSourceReader wrapper = new VirtualSourceReader(new DataTableReader(_testTable), batchSize, totalRecordForTest))
    wrapper.RowsCopied += RowsCopied;
    using (OracleConnection targetConnection = new OracleConnection(_targetConnectionString))
    targetConnection.Open();
    Console.WriteLine("Bulk insert started at {0}", DateTime.Now);
    OracleBulkCopy bc = null;
    try
    bc = new OracleBulkCopy(targetConnection)
    DestinationTableName = _targetTableName,
    BulkCopyTimeout = _bulkTimeOut,
    BatchSize = _batchSize
    do
    bc.WriteToServer(wrapper);
    } while (wrapper.ResetState());
    finally
    if (null != bc)
    bc.Close();
    bc.Dispose();
    targetConnection.Clone();
    Console.WriteLine("Bulk insert completed at {0}", DateTime.Now);
    wrapper.Close();
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(false),
    Process.GetCurrentProcess().WorkingSet64);
    public static void PerformMemoryLeakTest()
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(false),
    Process.GetCurrentProcess().WorkingSet64);
    using (VirtualSourceReader wrapper = new VirtualSourceReader(new DataTableReader(_testTable), totalRecordForTest, totalRecordForTest))
    using (OracleConnection targetConnection = new OracleConnection(_targetConnectionString))
    targetConnection.Open();
    Console.WriteLine("Bulk insert started at {0}", DateTime.Now);
    OracleBulkCopy bc = null;
    try
    bc = new OracleBulkCopy(targetConnection)
    DestinationTableName = _targetTableName,
    BulkCopyTimeout = _bulkTimeOut,
    BatchSize = _batchSize,
    NotifyAfter = _batchSize,
    bc.OracleRowsCopied += OracleRowsCopied;
    bc.WriteToServer(wrapper);
    finally
    if (null != bc)
    bc.Close();
    bc.Dispose();
    targetConnection.Clone();
    Console.WriteLine("Bulk insert completed at {0}", DateTime.Now);
    wrapper.Close();
    Console.WriteLine("Managed memory usage: {0}, unmanaged: {1}", GC.GetTotalMemory(false),
    Process.GetCurrentProcess().WorkingSet64);
    private static void RowsCopied(object sender, long eventArgs)
    Console.WriteLine("Row Processed {0}. Current time is {1}", eventArgs, DateTime.Now);
    private static void OracleRowsCopied(object sender, OracleRowsCopiedEventArgs eventArgs)
    RowsCopied(sender, eventArgs.RowsCopied);
    *****************File::SourceDataReaderWrap.cs*****************
    using System;
    using System.Collections.Generic;
    using System.Data;
    using Oracle.DataAccess.Client;
    namespace WindowsFormsApplication1
    public delegate void OnRowProcessed(object sender, long rowCount);
    public class SourceDataReaderWrap:IDataReader
    protected IDataReader _originalReader;
    protected readonly int _batchSize;
    protected int _currentSessionRows;
    protected long _rowCount;
    public event OnRowProcessed RowsCopied;
    public SourceDataReaderWrap(IDataReader originalReader, int batchSize)
    _originalReader = originalReader;
    _batchSize = batchSize;
    _rowCount = 0;
    #region Implementation of IDisposable
    /// <summary>
    /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
    /// </summary>
    /// <filterpriority>2</filterpriority>
    public void Dispose()
    _originalReader.Dispose();
    _originalReader = null;
    if (RowsCopied != null)
    foreach (OnRowProcessed @delegate in new List<Delegate>(RowsCopied.GetInvocationList()))
    RowsCopied -= @delegate;
    #endregion
    #region Implementation of IDataRecord
    /// <summary>
    /// Gets the name for the field to find.
    /// </summary>
    /// <returns>
    /// The name of the field or the empty string (""), if there is no value to return.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public string GetName(int i)
    return _originalReader.GetName(i);
    /// <summary>
    /// Gets the data type information for the specified field.
    /// </summary>
    /// <returns>
    /// The data type information for the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public string GetDataTypeName(int i)
    return _originalReader.GetDataTypeName(i);
    /// <summary>
    /// Gets the <see cref="T:System.Type"/> information corresponding to the type of <see cref="T:System.Object"/> that would be returned from <see cref="M:System.Data.IDataRecord.GetValue(System.Int32)"/>.
    /// </summary>
    /// <returns>
    /// The <see cref="T:System.Type"/> information corresponding to the type of <see cref="T:System.Object"/> that would be returned from <see cref="M:System.Data.IDataRecord.GetValue(System.Int32)"/>.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public Type GetFieldType(int i)
    return _originalReader.GetFieldType(i);
    /// <summary>
    /// Return the value of the specified field.
    /// </summary>
    /// <returns>
    /// The <see cref="T:System.Object"/> which will contain the field value upon return.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public object GetValue(int i)
    return _originalReader.GetValue(i);
    /// <summary>
    /// Gets all the attribute fields in the collection for the current record.
    /// </summary>
    /// <returns>
    /// The number of instances of <see cref="T:System.Object"/> in the array.
    /// </returns>
    /// <param name="values">An array of <see cref="T:System.Object"/> to copy the attribute fields into.
    /// </param><filterpriority>2</filterpriority>
    public int GetValues(object[] values)
    return _originalReader.GetValues(values);
    /// <summary>
    /// Return the index of the named field.
    /// </summary>
    /// <returns>
    /// The index of the named field.
    /// </returns>
    /// <param name="name">The name of the field to find.
    /// </param><filterpriority>2</filterpriority>
    public int GetOrdinal(string name)
    return _originalReader.GetOrdinal(name);
    /// <summary>
    /// Gets the value of the specified column as a Boolean.
    /// </summary>
    /// <returns>
    /// The value of the column.
    /// </returns>
    /// <param name="i">The zero-based column ordinal.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public bool GetBoolean(int i)
    return _originalReader.GetBoolean(i);
    /// <summary>
    /// Gets the 8-bit unsigned integer value of the specified column.
    /// </summary>
    /// <returns>
    /// The 8-bit unsigned integer value of the specified column.
    /// </returns>
    /// <param name="i">The zero-based column ordinal.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public byte GetByte(int i)
    return _originalReader.GetByte(i);
    /// <summary>
    /// Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset.
    /// </summary>
    /// <returns>
    /// The actual number of bytes read.
    /// </returns>
    /// <param name="i">The zero-based column ordinal.
    /// </param><param name="fieldOffset">The index within the field from which to start the read operation.
    /// </param><param name="buffer">The buffer into which to read the stream of bytes.
    /// </param><param name="bufferoffset">The index for <paramref name="buffer"/> to start the read operation.
    /// </param><param name="length">The number of bytes to read.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length)
    return _originalReader.GetBytes(i, fieldOffset, buffer, bufferoffset, length);
    /// <summary>
    /// Gets the character value of the specified column.
    /// </summary>
    /// <returns>
    /// The character value of the specified column.
    /// </returns>
    /// <param name="i">The zero-based column ordinal.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public char GetChar(int i)
    return _originalReader.GetChar(i);
    /// <summary>
    /// Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset.
    /// </summary>
    /// <returns>
    /// The actual number of characters read.
    /// </returns>
    /// <param name="i">The zero-based column ordinal.
    /// </param><param name="fieldoffset">The index within the row from which to start the read operation.
    /// </param><param name="buffer">The buffer into which to read the stream of bytes.
    /// </param><param name="bufferoffset">The index for <paramref name="buffer"/> to start the read operation.
    /// </param><param name="length">The number of bytes to read.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length)
    return _originalReader.GetChars(i, fieldoffset, buffer, bufferoffset, length);
    /// <summary>
    /// Returns the GUID value of the specified field.
    /// </summary>
    /// <returns>
    /// The GUID value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public Guid GetGuid(int i)
    return _originalReader.GetGuid(i);
    /// <summary>
    /// Gets the 16-bit signed integer value of the specified field.
    /// </summary>
    /// <returns>
    /// The 16-bit signed integer value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public short GetInt16(int i)
    return _originalReader.GetInt16(i);
    /// <summary>
    /// Gets the 32-bit signed integer value of the specified field.
    /// </summary>
    /// <returns>
    /// The 32-bit signed integer value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public int GetInt32(int i)
    return _originalReader.GetInt32(i);
    /// <summary>
    /// Gets the 64-bit signed integer value of the specified field.
    /// </summary>
    /// <returns>
    /// The 64-bit signed integer value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public long GetInt64(int i)
    return _originalReader.GetInt64(i);
    /// <summary>
    /// Gets the single-precision floating point number of the specified field.
    /// </summary>
    /// <returns>
    /// The single-precision floating point number of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public float GetFloat(int i)
    return _originalReader.GetFloat(i);
    /// <summary>
    /// Gets the double-precision floating point number of the specified field.
    /// </summary>
    /// <returns>
    /// The double-precision floating point number of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public double GetDouble(int i)
    return _originalReader.GetDouble(i);
    /// <summary>
    /// Gets the string value of the specified field.
    /// </summary>
    /// <returns>
    /// The string value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public string GetString(int i)
    return _originalReader.GetString(i);
    /// <summary>
    /// Gets the fixed-position numeric value of the specified field.
    /// </summary>
    /// <returns>
    /// The fixed-position numeric value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public decimal GetDecimal(int i)
    return _originalReader.GetDecimal(i);
    /// <summary>
    /// Gets the date and time data value of the specified field.
    /// </summary>
    /// <returns>
    /// The date and time data value of the specified field.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public DateTime GetDateTime(int i)
    return _originalReader.GetDateTime(i);
    /// <summary>
    /// Returns an <see cref="T:System.Data.IDataReader"/> for the specified column ordinal.
    /// </summary>
    /// <returns>
    /// An <see cref="T:System.Data.IDataReader"/>.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public IDataReader GetData(int i)
    return _originalReader.GetData(i);
    /// <summary>
    /// Return whether the specified field is set to null.
    /// </summary>
    /// <returns>
    /// true if the specified field is set to null; otherwise, false.
    /// </returns>
    /// <param name="i">The index of the field to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    public bool IsDBNull(int i)
    return _originalReader.IsDBNull(i);
    /// <summary>
    /// Gets the number of columns in the current row.
    /// </summary>
    /// <returns>
    /// When not positioned in a valid recordset, 0; otherwise, the number of columns in the current record. The default is -1.
    /// </returns>
    /// <filterpriority>2</filterpriority>
    public int FieldCount
    get { return _originalReader.FieldCount; }
    /// <summary>
    /// Gets the column located at the specified index.
    /// </summary>
    /// <returns>
    /// The column located at the specified index as an <see cref="T:System.Object"/>.
    /// </returns>
    /// <param name="i">The zero-based index of the column to get.
    /// </param><exception cref="T:System.IndexOutOfRangeException">The index passed was outside the range of 0 through <see cref="P:System.Data.IDataRecord.FieldCount"/>.
    /// </exception><filterpriority>2</filterpriority>
    object IDataRecord.this[int i]
    get { return _originalReader[i]; }
    /// <summary>
    /// Gets the column with the specified name.
    /// </summary>
    /// <returns>
    /// The column with the specified name as an <see cref="T:System.Object"/>.
    /// </returns>
    /// <param name="name">The name of the column to find.
    /// </param><exception cref="T:System.IndexOutOfRangeException">No column with the specified name was found.
    /// </exception><filterpriority>2</filterpriority>
    object IDataRecord.this[string name]
    get { return _originalReader[name]; }
    #endregion
    #region Implementation of IDataReader
    /// <summary>
    /// Closes the <see cref="T:System.Data.IDataReader"/> Object.
    /// </summary>
    /// <filterpriority>2</filterpriority>
    public void Close()
    _originalReader.Close();
    /// <summary>
    /// Returns a <see cref="T:System.Data.DataTable"/> that describes the column metadata of the <see cref="T:System.Data.IDataReader"/>.
    /// </summary>
    /// <returns>
    /// A <see cref="T:System.Data.DataTable"/> that describes the column metadata.
    /// </returns>
    /// <exception cref="T:System.InvalidOperationException">The <see cref="T:System.Data.IDataReader"/> is closed.
    /// </exception><filterpriority>2</filterpriority>
    public DataTable GetSchemaTable()
    return _originalReader.GetSchemaTable();
    /// <summary>
    /// Gets a value indicating the depth of nesting for the current row.
    /// </summary>
    /// <returns>
    /// The level of nesting.
    /// </returns>
    /// <filterpriority>2</filterpriority>
    public int Depth
    get { return _originalReader.Depth; }
    /// <summary>
    /// Gets a value indicating whether the data reader is closed.
    /// </summary>
    /// <returns>
    /// true if the data reader is closed; otherwise, false.
    /// </returns>
    /// <filterpriority>2</filterpriority>
    public bool IsClosed
    get { return _originalReader.IsClosed; }
    #endregion
    /// <summary>
    /// Advances the data reader to the next result, when reading the results of batch SQL statements.
    /// </summary>
    /// <returns>
    /// true if there are more rows; otherwise, false.
    /// </returns>
    /// <filterpriority>2</filterpriority>
    public bool NextResult()
    throw new NotImplementedException();
    /// <summary>
    /// Advances the <see cref="T:System.Data.IDataReader"/> to the next record.
    /// </summary>
    /// <returns>
    /// true if there are more rows; otherwise, false.
    /// </returns>
    /// <filterpriority>2</filterpriority>
    public virtual bool Read()
    if (_batchSize == (_currentSessionRows))
    return false;
    if(_originalReader.Read())
    _currentSessionRows++;
    _rowCount++;
    return true;
    return false;
    /// <summary>
    /// Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.
    /// </summary>
    /// <returns>
    /// The number of rows changed, inserted, or deleted; 0 if no rows were affected or the statement failed; and -1 for SELECT statements.
    /// </returns>
    /// <filterpriority>2</filterpriority>
    public int RecordsAffected
    get { throw new NotImplementedException(); }
    public virtual bool ResetState()
    bool result = _currentSessionRows != 0;
    if (result && RowsCopied != null)
    RowsCopied(this, _rowCount);
    _currentSessionRows = 0;
    return result;
    public class VirtualSourceReader:SourceDataReaderWrap
    private readonly int _totalRecordCount;
    public VirtualSourceReader(IDataReader reader, int batchSize, int totalRecordCount)
    :base(reader, batchSize)
    _totalRecordCount = totalRecordCount;
    public override bool Read()
    if (_rowCount >= totalRecordCount || totalRecordCount <= 0)
    return false;
    if (_rowCount == 0)
    return base.Read();
    if (_batchSize == _currentSessionRows)
    return false;
    _currentSessionRows++;
    _rowCount++;
    return true;
    *****************File::tmp.data**********

    You have problem because the batch size property has value *10000* and amount of records(*50000*) bigger than this value.
    You can retrieve workaround from my post (OracleBulkCopy have memory leak  if BatchSize is less than record's count.

  • What ADSL modem do you advise to use with my new airport extreme? I have tried a basic TP-Link ADSL2  modem and I can't get the configuration working. What modem does Apple recommend?

    I am having problems setting up airport extreme.
    What ADSL modem do you advise to use with my new airport extreme? I have tried a basic TP-Link ADSL2+  modem and I can't get the configuration working. What modem does Apple recommend?

    Ok well I have looked around some more and have found this to be the most up to date official response to my question as seen at this link here:
    http://www.actiontec.com/support/product_details.php?pid=41#q27
    Can I Bridge the Actiontec MI424WR router that Verizon provided, when I signed up for FiOS service?
    The MI424WR does not have a bridging option, and neither Verizon nor Actiontec support attempting to bridge it.
    The desire to bridge the MI424WR is based on a misunderstanding that it is a modem as well as a router. Actiontec does produce DSL Gateways that have a Transparent-Bridging option, which bypasses or disables the router function and allows the Gateway to act simply as a DSL modem, when it is enabled. Many consumers do not realize that with FiOS, the ONT (typically outside the home) is the device that handles changing the FiOS signal from Fiber to either Ethernet or Coax, and that the Router is just a Router, and if it was bridged or bypassed, it would be a device without a function. For most Verizon FiOS customers their service would completely stop if the MI424WR was bridged, because the Video on Demand service is dependent on it to work.
    If your ONT is connected to the Actiontec MI424WR router via Coax, the MI424WR is required due to the Coax connection. But if the ONT is connected to the MI424WR via Ethernet, then in most cases some other router can be substituted for the MI424WR, and it can be removed."
    So it looks like I will be calling Verizon support to see about getting the Ethernet connection installed and getting another modem...

  • Have airport extreme, square model, have a external harddrive to use as back up(formated for mac)hooked it up to the usb port in back. can't find it on my computer. what am i doing wrong

    have the airport extreme, square model. have a external harddrive formated for mac hooked up to the usb port in back.
    i can't find the harddrive on the computer for back up in timemachine. what am i doing wrong?

    First, if you are not aware, you need to know that Apple does not officially support Time Machine backups to a drive at the USB port of the AirPort Extreme.
    That may be part of the problem here, so if you want to continue to try this, you need to understand that there are no guarantees of success.
    Some users do seem to be able to make this work, but most have some problems and some....like me....have nothing but problems when they try this.
    If you want to continue to try this, the first thing to verify is that the drive is formatted specifically in Mac OS Extended (Journaled). Have you verified that the drive is formatted correctly by connecting it directly to your Mac and using Disk Utility to check?
    Some drives that are advertised as being "compatible for Mac" are not formatted correctly in Mac OS Extended (Journaled). Time Machine has no chance of success unless the drive is first formatted correctly.
    I would also ask that you consider leaving the drive connected to your Mac for Time Machine backups. That will be supported, and is a far more reliable way to keep backups if your data is important to you.
    Next, we need to know what operating system you are running on your Mac. If you do not know, click the Apple icon in the upper left corner of the screen and then click About This Mac.  Post back with the OS X Version number that you see there.

  • Airport Extreme appears to be ok but won't work

    I have my airport extreme hooked up to my cable modem and am using it as a router. It has worked fine for over a year I have had it but, for some reason has craped out today. Nothing has changed, no updates nothing. Internet is fine (if I plug the Ethernet cable directly into my MBP. Green light is on on the extreme. Have reset SSID and password and restored the Airport Extreme and the internet just won't work. Any ideas?

    Hello, hfred.
    If I understand correctly, you can access the internet via an Ethernet connection to the AirPort Extreme but not via a wireless connection. Is this correct?
    Connect the computer to the AirPort Extreme with an Ethernet cable. Open AirPort Utility, which can be found in the Utilities folder (located inside the Applications folder).
    Your AirPort extreme should appear in the sidebar. Click it, then press "Manual Setup." Enter the password if asked.
    Go to the Wireless tab. The wireless mode should be set to "Create a wireless network." Ensure the wireless network name is correct.
    For now, disable wireless security. This will simplify the process of diagnosing the connection, and you can (and should) re-enable it afterward. (If you have not been using any wireless security, I strongly recommend that you enable it once the problem has been solved.)
    Press +Wireless Options…+.
    +Transmit Power+ should generally be set to 100%.
    For now, don't create a closed network. If you want, you can make the network "closed" after the problem has been solved.
    Press OK.
    Go to the Access tab. Disable MAC Address Access Control.
    Press "Internet" in the toolbar.
    Set +Connect Using+ to Ethernet. Set +Configure IPv4+ to +Using DHCP+. Set +Ethernet WAN Port+ to +Automatic (Default)+. Set +Connection sharing+ to +Share a public IP address.+
    Press Update. Allow the AirPort Extreme to restart. Unplug the cable connecting your computer to the AirPort Extreme.
    After the AirPort Extreme has restarted, choose your network name from the AirPort menu. See if you have internet access.
    Does this work?

  • Airport Extreme does not have a valid IP address

    My Airport Extreme Base Station 802.11N (AEBS) no longer has an internet connection and I cannot share internet or even access the internet via an ethernet cable from the AEBS to my iMac unless in Bridge mode. I have a 2.6 Ghz Intel Core iMac running OS X 10.5.6. I also have an Airport Express (802.11b/g) currently offline.
    When I plug my ethernet cable directly into the iMac I've got a fast and reliable internet connection. I have also done 2 hard resets on my AEBS without any success. I have ensured that my cables are properly plugged in and had it checked by another person.
    I do not have a specific IP address from my Internet Service Provider (ISP). I have contacted my ISP and have confirmed that there is nothing wrong on their end. I had an internet connection previously with "Using DHCP". Now when I select it blanks out the IP address box. I referred to my last working saved Airport setting and my AEBS still does not have an internet connection.
    I'm not sure what else I can do. Any help would be appreciated. Thanks in advance.
    Byron

    Hello,
    I'm having a similar problem. Saturday morning my Comcast Internet was gone. I went through all the steps to troubleshoot (powering everything down, checking connections, powering back up from outside, connecting directly to the cable modem via Ethernet, etc.). I only got a valid IP address for a brief few minutes when directly connected. Comcast swapped out my modem, but same issue. Then Sunday they said known problem in area. This morning I got on the line with a level 2 tech. We went through just about everything again, and I can connect very reliably via direct Ethernet connect to modem. If I unplug the ethernet and give it a minute to recognize its gone, ip address goes blank. When I plug it back in, it gets a valid IP address and Internet connects almost instantaneously.
    However, with my AEBS (n) I can't get a valid IP address. I use the exact same Ethernet cable from the cable modem the AEBS Internet WAN port. But it gives itself a self-assigned IP of 169.254... I've gone through the cycles of powering down and back up a couple of times, checked my connections several times, and reset my AEBS to factory defaults. Still no dice. Internet is set to DHCP and to share a public IP address (in the default 10.0.1.x ranges). Has my AEBS effectively lost its ability to get a valid IP from the modem? Is it dead? Anything you can think of that I can try?

  • My airport extreme appears to be connected...

    to our home router.  Light is green.  Nothing we plug into the Extreme can connect to the internet?  How do I correct?  Thanks,

    You likely have the AirPort Extreme configured to "join" your wireless network. It performs no routing functions when it is configured to "join", so the Ethernet ports are not enabled.  You might be able to connect a printer to the USB port on the Extreme, but that's about it.
    If your main router is a recent Apple product, you can configure the Extreme to "extend a wireless network" (if this is the "square" version of the Extreme..not the older "round" version that looks like a flying saucer) and it will provide more wireless coverage and the Ethernet ports will be active.
    Otherwise, you will need to establish an Ethernet connection between your router and the AirPort Extreme.

  • Selecting Airport Extreme crashes Finder, have to connect to it as a server

    I just started getting this out of nowhere.
    I have not installed anything new, or moved or reconfigured any hardware recently.
    I have to open Finder and connect to my Airport Extreme as a server.
    If I try to select it from the Finder under 'Shared' in the sidebar, Finder crashes.
    Every. Single. Time.
    One thing I just noticed is that my I used to have to click [Drive name] [Root folder with same name as drive folder] -> Folders.
    That 2nd step is gone now. It's just [Drive name] -> Folders.
    I have a feeling a manually deleting my Time Machine sparse bundle or something borked this. Any ideas?

    What the actual.
    I rebooted. Everything is fine now. Back to the way it was.

  • Which airport extreme do I have

    MC340LL/A

    You have the 4th generation model of the 802.11n AirPort Extreme Base Station (AEBSn). The latest is the 5th generation (MD031LL/A)

Maybe you are looking for

  • Unable to open the member selection(pov)

    Hi, We are facing a critical issue and we are using FR 9.2 Version: Issue: We have FR Reports and Books in Workspace, when we try to open a Book or Report from workspace it asks for the POV to select. If we select member from the selection for the fi

  • Form for password changing. code problem

    hi dears, i am using forms6i. i was making a form for password changing purpose. i've written this code this is successfully compiled but it is not changing the password. wil u plz tell me where is the problem. declare      v_user varchar2(50);      

  • Search do not work correctly!?

    Hi! I I am using Search Criteria to search for data in DB. But Search do not work correctly. When I search using "Search in all fields:" then I can get needed info. But when I add some attributes and try to search then I get wrong results, see Search

  • Document types issue

    Hi experts, We are doing a query on GL Cube. Our requirement is to show DZ documents and the reversals of DZ documents i.e RD documents  How to find RD documents related to DZ documents only ? There may be chance that reversal documents ( RD ) will b

  • MGCP FXS ports requires a license in CUCM9

    Hello! I am connecting Some analoge phones to VG350 FXS ports which is  configured as a MGCP Gateway in CUCM. I beleive MGCP did not requires any license for it. Can some confirm this ? is there any Cisco doc on it ? Thanks & Regards,