Closed Bug 1229321 Opened 9 years ago Closed 5 years ago

[NFC]When using "NFC" to deliver files, the DUT's interface turns black with the prompt "swipe to share".

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
blocking-b2g 2.6?
Tracking Status
b2g-v2.5 --- unaffected
b2g-master --- affected

People

(Reporter: liuke, Unassigned)

References

Details

(Keywords: regression, Whiteboard: [2016-GBT-Y])

Attachments

(4 files, 1 obsolete file)

[1.Description]:
[Flame KK master][Aries KK master][NFC]When user transfers files via "NFC", the sharing UI with the prompt "swipe to share" turns to black. When user swipes the screen, the files are still not transfered.
See attachment:Flame KK master.3GP&logcat_2025.txt
Found time:20:25

[2.Testing Steps]: 
Precondition: There're two phones on which NFC are supported.

1.Launch "Settings"
2.Tap the "NFC"
3.Select a file to transfer.
4.Put the two phones together.

[3.Expected Result]: 
Step4:The sharing UI displayes normally and the file transfers succeessfully.

[4.Actual Result]: 
Step4:The sharing UI turns to black, and the DUT fails to transfer the file.

[5.Reproduction build]: 
Device:Flame KK master 512mb (affected)
Build ID               20151130150225
Gaia Revision          702773bee0b70e479ccebe5e061f571e977bc376
Gaia Date              2015-11-30 02:51:04
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/a18630f9ab42ddfde03ba8c7757a42069c48c7ed
Gecko Version          45.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151130.184457
Firmware Date          Mon Nov 30 18:45:12 EST 2015
Fireware Version       v18D v4
Bootloader             L1TC000118D0

Device:Flame KK v2.5  512mb (unaffected)
Build ID               20151130173516
Gaia Revision          391bcad1b3b427f189f4c7f11858fc739574682e
Gaia Date              2015-11-30 15:51:31
Gecko Revision         http://hg.mozilla.org/releases/mozilla-b2g44_v2_5/rev/1a022b4b67446b50f36c098aa425c65782af9066
Gecko Version          44.0a2
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151130.164630
Firmware Date          Mon Nov 30 16:46:40 UTC 2015
Fireware Version       v18D v4
Bootloader             L1TC000118D0

Device:Aries KK master (affected)
Build ID               20151130132518
Gaia Revision          702773bee0b70e479ccebe5e061f571e977bc376
Gaia Date              2015-11-30 02:51:04
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/a18630f9ab42ddfde03ba8c7757a42069c48c7ed
Gecko Version          45.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151130.124429
Firmware Date          Mon Nov 30 12:44:37 UTC 2015
Bootloader             s1

Device:Aries KK v2.5 (unaffected)
Build ID               20151130171620
Gaia Revision          391bcad1b3b427f189f4c7f11858fc739574682e
Gaia Date              2015-11-30 15:51:31
Gecko Revision         http://hg.mozilla.org/releases/mozilla-b2g44_v2_5/rev/1a022b4b67446b50f36c098aa425c65782af9066
Gecko Version          44.0a2
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151130.164746
Firmware Date          Mon Nov 30 16:47:54 UTC 2015
Bootloader             s1

[6.Reproduction Frequency]: 
Always Recurrence,5/5

[7.TCID]: 
Free Test
Hi Alison,

Could you help to dispatch this bug? thanks :)
Flags: needinfo?(ashiue)
[Blocking Requested - why for this release]:
Regression issue

Hi Thomas,
Could you please help to check this issue? Thank you.
blocking-b2g: --- → 2.6?
QA Whiteboard: [COM=NFC]
Flags: needinfo?(ashiue) → needinfo?(tnguyen)
QA Contact: liuke
First analyze, I could see: 
12-03 04:02:26.796   319   319 I Gecko   : -*- Nfc: Received message from NFC Service: {"isP2P":true,"ntfType":"techDiscovered","sessionId":6}
12-03 04:02:26.806   319   319 I Gecko   : -*- Nfc: Received message from content process: {"target":{},"name":"NFC:CallDefaultFoundHandler","sync":false,"json":{"sessionToken":"{7612fe38-27ee-4669-86b5-fd942a1b6ecf}","isP2P":true,"records":null},"data":{"sessionToken":"{7612fe38-27ee-4669-86b5-fd942a1b6ecf}","isP2P":true,"records":null},"objects":{}}
1

Then 12-03 04:02:26.866   319   319 I Gecko   : -*- Nfc: Received message from content process: {"target":{},"name":"NFC:CheckP2PRegistration","sync":false,"json":{"appId":1034,"requestId":"aWR7ZjY4Zjk3N2MtMWIyMC00MDM3LTgwMGEtOWM2ZTU1MWQwYzFhfQ=="},"data":{"appId":1034,"requestId":"aWR7ZjY4Zjk3N2MtMWIyMC00MDM3LTgwMGEtOWM2ZTU1MWQwYzFhfQ=="},"objects":{}}

12-03 04:02:26.876   319   319 I GeckoDump: [system] [AppWindowManager][-28594.337] handling shrinking-start

12-03 04:02:26.886   319   319 I GeckoDump: [system] [AppWindow][support.mozilla.org][AppWindow_6][-28594.325] getting screenshot..
12-03 04:02:26.886   319   319 I GeckoDump: [system] [AppWindow][support.mozilla.org][AppWindow_6][-28594.324] w=360;h=590

Gaia received nfc-tech-discovered event and started shrinking UI and getting screenshot, then it somehow failed. It looks like Shrinking UI has problems.  Should be a gaia bug.
Flags: needinfo?(tnguyen)
mozilla-inbound Regression Window:

Last Working Environmental Variables:
Device: Flame KK master (512mb)
Build ID               20151126011613
Gaia Revision          9eca89f04628c99226e0d18c15d5ae11b71af0cf
Gaia Date              2015-11-25 06:47:04
Gecko Revision         https://hg.mozilla.org/integration/mozilla-inbound/rev/298051dbb67c18d7f3d338e8c9ed694f9ae2996e
Gecko Version          45.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151029.182818
Firmware Date          Thu Oct 29 18:28:30 EDT 2015
Fireware Version       v18D v4
Bootloader             L1TC000118D0


First Broken Environmental Variables:
Device: Flame KK master (512mb)
Build ID               20151126013410
Gaia Revision          9eca89f04628c99226e0d18c15d5ae11b71af0cf
Gaia Date              2015-11-25 06:47:04
Gecko Revision         https://hg.mozilla.org/integration/mozilla-inbound/rev/7e18014be68d9e13760b2814862745911caf49a5
Gecko Version          45.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151125.184119
Firmware Date          Wed Nov 25 18:41:33 EST 2015
Fireware Version       v18D v4
Bootloader             L1TC000118D0

First Broken Gaia & Last Working Gecko - issue DOES NOT repro
Gaia Revision
9eca89f04628c99226e0d18c15d5ae11b71af0cf
Gecko Revision 
https://hg.mozilla.org/integration/mozilla-inbound/rev/298051dbb67c18d7f3d338e8c9ed694f9ae2996e

First Broken Gecko & Last Working Gaia – issue DOES repro
Gaia Revision
9eca89f04628c99226e0d18c15d5ae11b71af0cf
Gecko Revision  
https://hg.mozilla.org/integration/mozilla-inbound/rev/7e18014be68d9e13760b2814862745911caf49a5

Gecko pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=298051dbb67c18d7f3d338e8c9ed694f9ae2996e&tochange=7e18014be68d9e13760b2814862745911caf49a5
QA Whiteboard: [COM=NFC] → [COM=NFC][MGSEI-Triage+]
QA Whiteboard: [COM=NFC][MGSEI-Triage+] → [COM=NFC][MGSEI-Triage+][severe]
Matt and Botond, not sure which of your changes caused this issue but can you please take a look at the pushlog in comment 5?
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(botond)
Does this app use perspective transforms?

It seems plausible that our changes could break rendering if it involves perspective (or at least transforms), but I don't see how it could stop the file transfer.

I don't have any phones that support NFC, so I won't be able to reproduce this.

Can you please try creating a browser based testcase that reproduces the issue so that I can debug it on desktop.
Flags: needinfo?(matt.woodrow)
Is it possible that this was fixed by bug 1230075?
(In reply to Botond Ballo [:botond] from comment #8)
> Is it possible that this was fixed by bug 1230075?

Or, if not, it might still be a dupe of one of the other regressions from bug 1168263 (bug 1230693, bug 1230780, bug 1231242). Let's wait until those are resolved, since they have easier STR.

Leaving ni for now.
Depends on: 1168263
Flags: needinfo?(botond)
(In reply to Botond Ballo [:botond] from comment #9)
> Leaving ni for now.

For reals this time :)
Flags: needinfo?(botond)
Component: NFC → Layout: Images
Product: Firefox OS → Core
According to comment 4 and comment 9, this bug was not caused by NFC component.
Change its component to reflect the fact.
All the regressions caused by bug 1168263 have been fixed now (except for one which is hard to reproduce). Lance, could you re-test this with latest m-c and see if you still experience this problem?
Flags: needinfo?(botond) → needinfo?(liuke)
(In reply to Botond Ballo [:botond] from comment #12)
> All the regressions caused by bug 1168263 have been fixed now (except for
> one which is hard to reproduce). Lance, could you re-test this with latest
> m-c and see if you still experience this problem?

Botond: I tried on 2 different Z3 devices using the following build and I still see the issue:

Build ID               20160114162755
Gaia Revision          2d6c11a1e82bd9f9b7491863c8d1ea4a14aea69f
Gaia Date              2016-01-14 03:25:40
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/878033e3ca98726f11dd3a30b0768961d221d22a
Gecko Version          46.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.naoki.20151007.074137
Firmware Date          Wed Oct  7 07:41:46 PDT 2015
Bootloader             s1

As suggested by Naoki I will try Flame next.
So the first Aries device wasn't on the latest available, but I tried the following build as well which has a different Gecko revision and it still doesn't work:

Build ID               20160115125237
Gaia Revision          44cc5dfeda9251188c6547f2d5903ee980a5361e
Gaia Date              2016-01-15 07:52:10
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/02398f2be72b9bbf5ee79348b73ef122c915aae0
Gecko Version          46.0a1
Device Name            aries
Firmware(Release)      4.4.2
Thanks for testing! In this case, I think Matt's request from comment 7 applies:

In reply to Matt Woodrow (:mattwoodrow) from comment #7)
> I don't have any phones that support NFC, so I won't be able to reproduce
> this.
> 
> Can you please try creating a browser based testcase that reproduces the
> issue so that I can debug it on desktop.
I tested on Flame and see the same issue:

Build ID               20160115055328
Gaia Revision          44cc5dfeda9251188c6547f2d5903ee980a5361e
Gaia Date              2016-01-15 07:52:10
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/02398f2be72b9bbf5ee79348b73ef122c915aae0
Gecko Version          46.0a1
Device Name            flame

Adding qawanted for the test case.
Keywords: qawanted
According to the NFC team, it's not about NFC, so you don't have to have NFC to experience this.
[ Some flame devices have NFC, you just need two NFC stickered flames.  When you remove the back cover, the NFC sticker is the sticker with a little metal bit on the back of the device ]

Basically you have to trigger : NFC.shrinkingUI.start();
https://github.com/mozilla-b2g/gaia/blob/01ffe82cf088ca8fda9fe6783dc5cad2c3dde01c/apps/gallery/js/nfc.js#L12
see last two comments.  Also Matt if you're in the SF office, I can set you up with two flame devices that have NFC.  The aries (Sony Z3C Compact ) device also has NFC built into it.
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(botond)
I'm not in any of the offices sorry.

Does the unit test reproduce the problem? Does it run on desktop?

I don't have a b2g build environment at the moment, linux issues. I'm hoping to avoid spending time reformatting that machine at the moment, so being able to reproduce the problem on desktop would make my life a lot easier.
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(liuke)
ni?nhirata for the questions in comment 21.
Flags: needinfo?(botond) → needinfo?(nhirata.bugzilla)
Test case has been added in moztrap:
https://moztrap.mozilla.org/manage/case/13955
Flags: in-moztrap+
Keywords: qawanted
So I spent time looking at the unit test and trying to run it.  It passes.  This is probably a great example of why automation doesn't catch certain issues that manual testing captures.

Also to note, the smaller unit test to look at would be : 
https://github.com/mozilla-b2g/gaia/blob/master/shared/test/unit/mocks/mock_shrinking_ui.js

I also tried looking at some of the apps that might have it, none of them call the shrinking ui.
We can probably try to add it in the : https://github.com/mozilla-b2g/gaia/blob/master/dev_apps/uitest
Er. sorry.  I made a mistake.  Those mock the shrinking UI for comment 19 and 22.  Not sure what I was thinking before.

https://github.com/mozilla-b2g/gaia/blob/f07f32110edbbbd477519b12dc2ecd16343aacf0/apps/system/test/unit/app_window_manager_test.js#L307
Flags: needinfo?(nhirata.bugzilla)
Still working on getting some sort of test. Turns out that it's a system call so I might not be able to do the webapp idea.

Reza suggested a couple of things, one of which was to make an addon.

Also to note, he helped me with using webIDE to look at the css and see what was causing the issue.
It seems like any of the applied transforms on the images causes them not to appear : 
              transform:  rotateX ( 0.65 deg );
              transform:  translateX (0);
              transform:  translateY (-100%);

Having said that I tried creating a plain css with those transforms on a screenshot, and cannot seem to reproduce the issue.  There's something more going on that I'm not 100 % sure about.

I think the next thing I might pursue is creating an addon that allows for transforms of the screens on a software home button bar.
If the issue is about transformation, it's quite expected that the unit tests do not find them. Unit tests test code, not the interface. For this integration tests are more useful.

I don't follow why we want to create a webapp or an addon. Usually, if there is a graphical problem we can reproduce with a simple webpage. I can probably help investigating next week.
Hrm.  well I was thinking in the future and wanting to follow the code path.  After talking with Reza yesterday, I was working on a simple web page : http://people.mozilla.org/~nhirata/html_tp/test_transform3.html

It's not showing up just with that.  still exploring.
I don't think the addon will do either because I don't think addons can access the windows manager itself...  so the basic smaller case will have to be narrowed down or a mod to the gaia system that isn't checked in to show the issue at a press of a button.
Never mind!  I was wrong.  You can get the app to tilt with an addon : 
Please try this branch : https://github.com/nhirata/fxos-shb-plus/tree/tilt_button
The left button will tilt or untilt the active window.

Though, since we entered tier 3, I suppose this bug won't get fixed unless I can prove it also exists on desktop?
Flags: needinfo?(botond)
Comment on attachment 8710628 [details] [review]
[gaia] nhirata:bug_1229321_add_ShrinkUI_Test > mozilla-b2g:master

(not to be checked in)
Attachment #8710628 - Flags: review-
What's interesting is that when you push the tilted window into task manager, the image will show.

There's some sort of combination between the transform + some other thing that is causing the issue.
Here is how I reproduce easily with WebIDE:

0. You'll need to be able to debug the System app, so you'll need to enable the unrestricted mode from WebIDE.
1. Launch an app (any app).
2. Connect using WebIDE.
3. Choose the "System" app in WebIDE.
4. Run:
  window.dispatchEvent(new CustomEvent('shrinking-start'));

When you're finished you'll need to run
  window.dispatchEvent(new CustomEvent('shrinking-stop'));

otherwise the System app might be confused.
I did this in latest Mulet and actually it works fine in latest Mulet.

So I'm gonna try with a newer build for my Flame...
It still doesn't work on the latest build for Flame.

So I'm afraid this is broken in Firefox OS only...
I tried hacking things around.

Currently, this works kind of like this:

<div class='shrinking-wrapper'>
  some stuff
  ...<div style='transform: rotateX(...)'>
     ... application UX
</div>

.shrinking-wrapper has "perspective: 1rem" (which means 10px for us).


I tried to reproduce with a simple page but no luck yet.

Now I tried to change this: removing "perspective: 1rem" from the .shrinking-wrapper class, and instead added "perspective(1rem)" to the transform property in the inline style. And tada then it works !!
Here is a patch that makes it work. But I don't really want to land this.
Found bug 1243776 while investigating but I doubt this is it because it reproduces forever.
I'm out of ideas for now.

Botond, please tell me if I can do something to, I don't know, dump layers or display tree or something (with a pointer to the documentation to do this). I can build a new image with a gecko patch if necessary. Thanks !
(In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from comment #33)
> Though, since we entered tier 3, I suppose this bug won't get fixed unless I
> can prove it also exists on desktop?

Let's ask Matt to make this call, as he's the one with the most relevant Layout knowledge to actually investigate this.
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(botond)
(In reply to Julien Wajsberg [:julienw] from comment #42)
> Botond, please tell me if I can do something to, I don't know, dump layers
> or display tree or something (with a pointer to the documentation to do
> this). I can build a new image with a gecko patch if necessary. Thanks !

You can get both of these without a rebuild, by flipping a pref with edit-prefs.sh (I assume you're familiar with that).

The prefs are "layers.dump" and "layout.display-list.dump", respectively.
(In reply to Botond Ballo [:botond] from comment #44)
> You can get both of these without a rebuild, by flipping a pref with
> edit-prefs.sh (I assume you're familiar with that).
> 
> The prefs are "layers.dump" and "layout.display-list.dump", respectively.

Actually, for layer dumps it's even easier, there's a checkbox in the Developer menu of the Settings app.
(In reply to Botond Ballo [:botond] from comment #43)
> (In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from
> comment #33)
> > Though, since we entered tier 3, I suppose this bug won't get fixed unless I
> > can prove it also exists on desktop?
> 
> Let's ask Matt to make this call, as he's the one with the most relevant
> Layout knowledge to actually investigate this.

Right. Without a desktop testcase, this is unlikely to be a priority for me.

Linux with e10s/APZ should be the closest configuration to b2g, it's worth trying testcases there.
Flags: needinfo?(matt.woodrow)
Product: Core → Core Graveyard
Product: Core Graveyard → Core

Closing bugs with b2g-master=affected as it is likely to be out dated.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: