Closed Bug 1224641 Opened 9 years ago Closed 9 years ago

Reftest failure: italic-oblique-2.html

Categories

(Testing :: General, defect)

defect
Not set
normal

Tracking

(firefox45 fixed)

RESOLVED FIXED
mozilla45
Tracking Status
firefox45 --- fixed

People

(Reporter: armenzg, Assigned: armenzg)

References

Details

Attachments

(2 files)

I've managed to reproduce the reftest failures locally.
I've appended one of the test failures so it can be put inside of the reftest analyzer.
The log is here [1]

The command used [2]
Note that:
* I use --device=/dev/video2:/dev/video2 # This depends on your machine
* I append '--no-run-tests' to Mozharness

The reftest analyzer does not show fonts as far as I can tell.


[1]
https://public-artifacts.taskcluster.net/Zs9kwfC6STO4TxK-__k5AQ/0/public/logs/live_backing.log

[2]
docker run -ti --device=/dev/video2:/dev/video2 armenzg/desktop-test:0.4.5 bash
MOZILLA_BUILD_URL='https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.tar.bz2'
MOZHARNESS_SCRIPT='mozharness/scripts/desktop_unittest.py' 
MOZHARNESS_URL='https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/mozharness.zip' 
GECKO_HEAD_REPOSITORY='https://hg.mozilla.org/try/' 
MOZHARNESS_CONFIG='mozharness/configs/unittests/linux_unittest.py mozharness/configs/remove_executables.py
' 
GECKO_HEAD_REV='e5f0ace1da70880dab11fa337b54bcdc529f7972'
export DISPLAY=:0
mkdir workspace && cd workspace
cd /home/worker/workspace/build/tests/reftest
source /home/worker/workspace/build/venv/bin/activate
python -u /home/worker/workspace/build/tests/reftest/runreftest.py --appname=/home/worker/workspace/build/application/firefox/firefox --utility-path=tests/bin --extra-profile-file=tests/bin/plugins --symbols-path=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.crashreporter-symbols.zip --suite=reftest -- tests/layout/reftests/font-matching/italic-oblique-2.html
I will be look at fonts to be installed from here:
http://hg.mozilla.org/build/puppet/diff/6fea3e96d17c/modules/packages/manifests/fonts.pp

It seems to be part of the work for the Linux test infra changes in bug 820238.
Updated steps (since I failed when filing it):
docker run -ti --device=/dev/video2:/dev/video2 armenzg/desktop-test:0.4.5 bash
export MOZILLA_BUILD_URL='https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.tar.bz2'
export MOZHARNESS_SCRIPT='mozharness/scripts/desktop_unittest.py' 
export MOZHARNESS_URL='https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/mozharness.zip' 
export GECKO_HEAD_REPOSITORY='https://hg.mozilla.org/try/' 
export MOZHARNESS_CONFIG='mozharness/configs/unittests/linux_unittest.py mozharness/configs/remove_executables.py
' 
export GECKO_HEAD_REV='e5f0ace1da70880dab11fa337b54bcdc529f7972'
export DISPLAY=:0
mkdir workspace && cd workspace
# If you need to test a different script you can point to a different URL
#This version has compiz included
curl --fail -o ./test-linux.sh --retry 10 https://hg.mozilla.org/try//raw-file/e5f0ace1da70880dab11fa337b54bcdc529f7972/testing/taskcluster/scripts/tester/test-linux.sh
chmod +x test-linux.sh
chown -R worker:worker /home/worker
sudo -E -u worker bash /home/worker/bin/test.sh --no-read-buildbot-config --installer-url=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.tar.bz2 --test-packages-url=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/test_packages.json --download-symbols=ondemand --reftest-suite=reftest --total-chunk=4 --this-chunk=3 --no-run-tests

# We can now run it manually
cd /home/worker/workspace/build/tests/reftest
source /home/worker/workspace/build/venv/bin/activate
python -u /home/worker/workspace/build/tests/reftest/runreftest.py --appname=/home/worker/workspace/build/application/firefox/firefox --utility-path=tests/bin --extra-profile-file=tests/bin/plugins --symbols-path=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.crashreporter-symbols.zip --suite=reftest -- tests/layout/reftests/font-matching/italic-oblique-2.html
looking at this following the instructions above (yay!), I see that we have a slight difference in the top bar.  This is easy to reproduce.  What is odd is these tests fail for Mulet also, we are not mistaking this test run for Mulet, but we have the same failure pattern.

Looking at the related failures we have italic-oblique-2, italic-oblique-6, italic-oblique-8, italic-oblique-9.  All of these have the CCC characters, and these are the only tests with those characters in the HTML.  

Maybe :jtd knows a bit more about these, specifically why just those tests would be failing and what os level packages might affect these tests on Linux. 

For reference, here is a try run with reftest-3 failing:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e5f0ace1da70&group_state=expanded
Flags: needinfo?(jdaggett)
You also need this to run it locally outside of test.sh:
 Xvfb :0 -nolisten tcp -screen 0 1600x1200x24 &

We have all those fonts installed in the container (comment 1).

I tried changing the if statement in here (Mulet vs not) without any differences:
https://dxr.mozilla.org/mozilla-central/source/layout/reftests/font-matching/reftest.list#105

I've also connected through VNC to see how this looks.
 apt-get install x11vnc
 x11vnc &
 /home/worker/workspace/build/application/firefox/firefox tests/layout/reftests/font-matching/italic-oblique-2.html

To be honest I can't see any differences:
http://people.mozilla.org/~armenzg/sattap/8c3b1416.png

Why does the reftest analayzer not show "CCC" but three pyramids?
http://people.mozilla.org/~armenzg/sattap/c88c845c.png

Why are the edges highlighted in red?

I'm moving to other test failures until I hear more.
> To be honest I can't see any differences:
> http://people.mozilla.org/~armenzg/sattap/8c3b1416.png

Perhaps because I'm looking at the reference file! :)
How can I see what was rendered by the test?
I also tried matching color bit depth to match ec2 instances:
(venv)root@taskcluster-worker:~/workspace/build/tests/reftest# Xvfb :0 -nolisten tcp -screen 0 1600x1200x32

Fatal server error:
Couldn't add screen 0
I get the same thing when going from 24 bit to 32 bit colour depth.  I am not sure why you are missing a window manager.
These tests basically boil down to a comparison between the markA and markC test fonts. These fonts each have just the three bars glyph, mapped to the character denoted by the name - so markA has a three-bars glyph for 'A' and markC has the same glyph for 'C'. It would be interesting to test to see whether a simple test fails (i.e. one without font style matching involved).

@font-face { font-family: test; src: url(markA.ttf); }

<p style="font-family: test">AAA</p>

  - versus -

@font-face { font-family: test; src: url(markC.ttf); }

<p style="font-family: test">CCC</p>

Do these render the same way, without the minor subpixel shift that seems to occur with the actual test/ref case?

Note: these tests won't be affected by platform fonts.
Flags: needinfo?(jdaggett)
making the ref file have:
@font-face { font-family: test; src: url(markA.ttf); }

<p style="font-family: test">AAA</p>


and then making the test file have:
@font-face { font-family: test; src: url(markC.ttf); }

<p style="font-family: test">CCC</p>



resulted in a similar failure 147 pixels off instead of 140.  Maybe something in the window manager or other system fonts are causing this.
I tried with a docker image that starts up a window manager [1] (I thought it would have been the normal Ubuntu but it is LXPanel).
However, the test also fails there.

Number of differing pixels 156.

[1]
docker pull dorowu/ubuntu-desktop-lxde-vnc
docker run -i -t -p 6080:6080 dorowu/ubuntu-desktop-lxde-vnc
Browse to http://127.0.0.1:6080/vnc.html ('ubuntu' is the password)
Open a terminal (under menu -> accessories)
sudo apt-get update
sudo apt-get wget unzip
sudo pip install virtualenv
mkdir workspace && cd workspace
wget https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/mozharness.zip
python mozharness/scripts/desktop_unittest.py --config-file mozharness/configs/unittests/linux_unittest.py --config-file mozharness/configs/remove_executables.py --no-read-buildbot-config --installer-url=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.tar.bz2 --test-packages-url=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/test_packages.json --download-symbols=ondemand --reftest-suite=reftest --total-chunk=4 --this-chunk=3 --no-run-tests --cfg developer_config.py
cd ~/workspace/build/tests/reftest
source ~/workspace/build/venv/bin/activate
python -u /home/ubuntu/workspace/build/tests/reftest/runreftest.py --appname=/home/ubuntu/workspace/build/application/firefox/firefox --utility-path=tests/bin --extra-profile-file=tests/bin/plugins --symbols-path=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.crashreporter-symbols.zip --suite=reftest -- tests/layout/reftests/font-matching/italic-oblique-2.html

[2] 
REFTEST INFO | drawWindow flags = DRAWWINDOW_DRAW_CARET | DRAWWINDOW_DRAW_VIEW | DRAWWINDOW_USE_WIDGET_LAYERS; window size = 800,1000; test browser size = 800,1000
REFTEST TEST-LOAD | file:///home/ubuntu/workspace/build/tests/reftest/tests/layout/reftests/font-matching/italic-oblique-ref.html | 0 / 1 (0%)
REFTEST TEST-UNEXPECTED-FAIL | file:///home/ubuntu/workspace/build/tests/reftest/tests/layout/reftests/font-matching/italic-oblique-2.html | image comparison (==), max difference: 101, number of differing pixels: 156
REFTEST   IMAGE 1 (TEST): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAPoCAYAAAAmy5qxAAAV5ElEQVR4nO3coXEcQRRF0YUOQfEoC22VgYGQoNJwBMrB0NARmC91EAKC7QzGQO47vTPnVDXffehfMpcBAAAQuez9AwAAgPMQIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWMGyPvP8Xi5jMu09zh+vu/9Jz/BPtvsAwAwjQA54wFpn232AQCYRoCc8YC0zzb7AABMI0DOeEDaZ5t9AACmESBnPCDts80+AADTCJAzHpD22WYfAIBpBMgZD0j7bLMPAMA0AuSMB6R9ttkHAGAaAXLGA9I+2+wDADDNMQPk4za+P1/H9euk9/x93D72/pOfYJ9t9gEAmOaYAQIAACxJgAAAABkBAgAAZAQIAACQESAAAEDmzgLkY/x6+jLx86j/9315+jXajx3Zxz4AAGsTIIc6IO1jHwCAtQmQQx2Q9rEPAMDaBMihDkj72AcAYG0C5FAHpH3sAwCwNgFyqAPSPvYBAFibADnUAWkf+wAArE2AHOqAtI99AADWJkAOdUDaxz4AAGu7swAZ4/b2Mq5P17t4L283+9jnrvYBAJjt7gIEAAC4XwIEAADICBAAACAjQAAAgMw6AfLnx3j9dh3Xryd7317Hjz/2sc/kfQAAFrFMgHz8fhkPC3z6tH8P4+X3vz+2ah/7fGYfAIBVCJDdnwPbPvP3AQBYhQDZ/Tmw7TN/HwCAVQiQ3Z8D2z7z9wEAWIUA2f05sO0zfx8AgFUIkN2fA9s+8/cBAFiFANn9ObDtM38fAIBVCJDdnwPbPvP3AQBYhQDZ/Tmw7TN/HwCAVSwTIAAAwPEJEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMj8BS/bLVlEvFuKAAAAAElFTkSuQmCC
REFTEST   IMAGE 2 (REFERENCE): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAPoCAYAAAAmy5qxAAAV5ElEQVR4nO3coXEcQRRF0YUKwfEoC22VgYGQoNNQBM7B0FARiIs6CIOF7QzGQO47vTPnVDXffehfMpcBAAAQuez9AwAAgPMQIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAGQECAABkBAgAAJARIAAAQEaAAAAAmWMGyO1jvD5fx/XrpPf8Oj5ue//JT7DPNvsAAExzzAD582s8Xi7jMu09jl9/9v6Tn2CfbfYBAJhGgJzxgLTPNvsAAEwjQM54QNpnm30AAKYRIGc8IO2zzT4AANMIkDMekPbZZh8AgGkEyBkPSPtssw8AwDQC5IwHpH222QcAYBoBcsYD0j7b7AMAMI0AOeMBaZ9t9gEAmOaYAQIAACxJgAAAABkBAgAAZAQIAACQESAAAEDmzgLkNt6eHiZ+nej/voent3Gzj33uZh8AgPkEyKEOSPvYBwBgbQLkUAekfewDALA2AXKoA9I+9gEAWJsAOdQBaR/7AACsTYAc6oC0j30AANYmQA51QNrHPgAAaxMghzog7WMfAIC1CZBDHZD2sQ8AwNruLEDG+PjxMq5P17t4Lz8+7GOfu9oHAGC2uwsQAADgfgkQAAAgI0AAAICMAAEAADLrBMjvn+P7t+u4fj3Z+/Z9/PxtH/tM3gcAYBHLBMjt/WV8WeDTp/37Ml7e//2xVfvY5zP7AACsQoDs/hzY9pm/DwDAKgTI7s+BbZ/5+wAArEKA7P4c2PaZvw8AwCoEyO7PgW2f+fsAAKxCgOz+HNj2mb8PAMAqBMjuz4Ftn/n7AACsQoDs/hzY9pm/DwDAKgTI7s+BbZ/5+wAArGKZAAEAAI5PgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEBGgAAAABkBAgAAZAQIAACQESAAAEDmL0LiLVlYK/wZAAAAAElFTkSuQmCC
REFTEST INFO | Saved log: START file:///home/ubuntu/workspace/build/tests/reftest/tests/layout/reftests/font-matching/italic-oblique-2.html
REFTEST INFO | Saved log: [CONTENT] Using browser remote=false

REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
REFTEST INFO | Saved log: Initializing canvas snapshot
REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
REFTEST INFO | Saved log: [CONTENT] RecordResult fired
REFTEST INFO | Saved log: RecordResult fired
REFTEST INFO | Saved log: START file:///home/ubuntu/workspace/build/tests/reftest/tests/layout/reftests/font-matching/italic-oblique-ref.html
REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
REFTEST INFO | Saved log: Initializing canvas snapshot
REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
REFTEST INFO | Saved log: [CONTENT] RecordResult fired
REFTEST INFO | Saved log: RecordResult fired
REFTEST INFO | Loading a blank page
REFTEST TEST-END | file:///home/ubuntu/workspace/build/tests/reftest/tests/layout/reftests/font-matching/italic-oblique-2.html
REFTEST FINISHED: Slowest test took 46ms (file:///home/ubuntu/workspace/build/tests/reftest/tests/layout/reftests/font-matching/italic-oblique-2.html)
REFTEST INFO | Result summary:
REFTEST INFO | Successful: 0 (0 pass, 0 load only)
REFTEST INFO | Unexpected: 1 (1 unexpected fail, 0 unexpected pass, 0 unexpected asserts, 0 unexpected fixed asserts, 0 failed load, 0 exception)
REFTEST INFO | Known problems: 0 (0 known fail, 0 known asserts, 0 random, 0 skipped, 0 slow)
REFTEST INFO | Total canvas count = 2
REFTEST TEST-START | Shutdown
JavaScript error: resource://gre/modules/PerformanceStats.jsm, line 208: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIPerformanceStatsService.isMonitoringJank]
REFTEST INFO | Failed to find the test-plugin.
REFTEST INFO | Failed to find the test-plugin.
REFTEST INFO | Failed to get test plugin tags.
JavaScript error: resource://gre/modules/PerformanceStats.jsm, line 492: Error: forget() called twice
JavaScript error: resource://gre/modules/BookmarkHTMLUtils.jsm, line 894: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsINavBookmarksService.removeFolderChildren]
WARNING | leakcheck | refcount logging is off, so leaks can't be detected!

REFTEST INFO | runreftest.py | Running tests: end.
This test is failing for me and jmaher on our local hosts (not docker images).
I'm running on Ubuntu 14.04 LTS.

Does the test work for your locally?
I've pasted the steps below to run on your local machine.


mkdir ~/workspace && cd ~/workspace
wget https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/mozharness.zip
python mozharness/scripts/desktop_unittest.py --config-file mozharness/configs/unittests/linux_unittest.py --config-file mozharness/configs/remove_executables.py --no-read-buildbot-config --installer-url=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.tar.bz2 --test-packages-url=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/test_packages.json --download-symbols=ondemand --reftest-suite=reftest --total-chunk=4 --this-chunk=3 --no-run-tests --cfg developer_config.py
cd ~/workspace/build/tests/reftest
source ~/workspace/build/venv/bin/activate
python -u $HOME/workspace/build/tests/reftest/runreftest.py --appname=$HOME/workspace/build/application/firefox/firefox --utility-path=tests/bin --extra-profile-file=tests/bin/plugins --symbols-path=https://queue.taskcluster.net/v1/task/CN0b2p9zQYq3A1iMaCmXiQ/artifacts/public/build/target.crashreporter-symbols.zip --suite=reftest -- tests/layout/reftests/font-matching/italic-oblique-2.html
Flags: needinfo?(jdaggett)
or even:
./mach test layout/reftests/font-matching/italic-oblique-2.html
Ok, I can reproduce this problem now under Ubuntu. Fun times!

The markA/B/C fonts all basically *exactly* the same except that the single glyph is assigned to characters A/B/C within the character map. So AAA with MarkA should always be identical to CCC with MarkC. For whatever reason, that's not true under Ubuntu.

My hunch is that depending upon the serif fallback font, the placement of 'A' vs. the placement of 'C' when the fallback font is shown somehow affects how the final downloadable font displays. This shouldn't happen but...

For now, I'm just going to bump up the size which looks like it prevents the slight variation in display.
Flags: needinfo?(jdaggett)
Bump the font size from 300% to 600%
Attachment #8689396 - Flags: review?(m_kato)
This patch fixes the problem for me running under Ubuntu.

Armen, could you test in your environment to confirm?
Flags: needinfo?(armenzg)
Attachment #8689396 - Flags: review?(m_kato) → review+
I have tested this patch in the docker instance and it fixes all the tests in font-matching!
Flags: needinfo?(armenzg)
https://hg.mozilla.org/mozilla-central/rev/e26bbb3b4804
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: