← Back to team overview

ubuntu-sdk-bugs team mailing list archive

[Bug 1560528] Re: tst_LargeFile::mapOffsetOverflow started failing on 32-bit xenial

 

This seems to be a regression/change in glibc. I experimented at
https://launchpad.net/~timo-jyrinki/+archive/ubuntu/quantal-compiz-
unity-testing/+packages and only after forcing the glibc 2.21 into use,
I was able to get the unit test passing.

** Also affects: glibc (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: qtbase-opensource-src (Ubuntu)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to qtbase-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1560528

Title:
  tst_LargeFile::mapOffsetOverflow started failing on 32-bit xenial

Status in glibc package in Ubuntu:
  New
Status in qtbase-opensource-src package in Ubuntu:
  Incomplete

Bug description:
  Something has changed xenial, resulting in the following one unit test
  failing on 32-bit (it's expected failure on 64-bit):

  QWARN  : tst_LargeFile::mapOffsetOverflow() QFSFileEngine::map: Mapping a file beyond its size is not portable
  FAIL!  : tst_LargeFile::mapOffsetOverflow() '!address' returned FALSE. ()
     Loc: [tst_largefile.cpp(517)]
  --
  blockSize(1 << 12)
  ...
  void tst_LargeFile::mapOffsetOverflow()
  {
      // Out-of-range mappings should fail, and not silently clip the offset
      for (int i = 50; i < 63; ++i) {
          uchar *address = 0;

          address = largeFile.map(((qint64)1 << i), blockSize);
  #if defined(__x86_64__)
          QEXPECT_FAIL("", "fails on 64-bit Linux (QTBUG-21175)", Abort);
  #endif  
          QVERIFY( !address );

          address = largeFile.map(((qint64)1 << i) + blockSize, blockSize);
          QVERIFY( !address );
      }
  #endif
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1560528/+subscriptions


References