Command Line option while running the java ?
Host and Test server (considering "every time against our test server")
CPU Make & Model
Windows 7 (64 bit) type (Professional / Home / etc..) ?
Service pack version ?
Are you using Oracle provided JDK or modified ?
Both Host and Test server is having JDK or only JRE ?
Tried myself on 8u51, 8u60 and 8u64 (all 32 bit JDK) , but couldn't re-produce
here locally.
Thanks,
Guru
-Original Message-
From: Schmidtmer, Oliver [mailto:o.schmidt...@elo.com]
Sent: Thursday, November 12, 2015 9:22 PM
To: Guru Hb
Cc: openjfx-dev@openjdk.java.net
Subject: AW: JDK-8139844 com.sun.webkit.Timer is never fired if delay is too low
Hello Guru,
I've tested it with 8u51 32bit, 8u60 32bit and 8u65 32bit using windows 7 64bit
where I can reproduce this every time against our test server.
Indeed it doesn't happen with 8u65 64bit and 8u66 64bit on windows 7 64bit.
I've not checked other 64bit JREs but can do so if wished.
Mac OS X with 64bit JRE and Linux with 32bit&64bit JRE also don't seem to have
this issue.
Maybe this really happens only on windows with 32bit JREs.
Thanks,
Oliver
-Ursprüngliche Nachricht-
Von: Guru Hb [mailto:guru...@oracle.com]
Gesendet: Donnerstag, 12. November 2015 11:19
An: Schmidtmer, Oliver
Cc: openjfx-dev@openjdk.java.net
Betreff: RE: JDK-8139844 com.sun.webkit.Timer is never fired if delay is too low
Hello Oliver,
Could you please provide info where this problem is seen more often.
OS type, version & 32 / 64 bit
JDK version & 32 / 64 bit. (already mentioned 8u66 and 32 bit in email)
fireTime (argument) value can't go less than "1.0E-9". As you pointed out the
problem lies in "Math.ceil(fireTime * 1000)". Initially I have tested on window
7 64 bit and JDK 8u66 64 bit.
Asserting the value if less than 0 in "fwkSetFireTime" would be a temporary
solution.
Thanks,
Guru
-Original Message-
From: Schmidtmer, Oliver [mailto:o.schmidt...@elo.com]
Sent: Wednesday, November 11, 2015 7:06 PM
To: openjfx-dev@openjdk.java.net
Subject: JDK-8139844 com.sun.webkit.Timer is never fired if delay is too low
Hello,
I'm the submitter of JDK-8139844.
A few of our customers are affected by this issue and we can only reproduce it
when loading webpages from a specific machine, independent from which machine
the client with the web view is started.
As a workaround for our problem and JDK-8091962 I modified
com.sun.webkit.Timer.fwkSetFireTime in 1.8.0_65-b17 - 32 bit as following and
added some output to the calculations:
private static void fwkSetFireTime(double fireTime) {
long fireTimeMS = (long)Math.ceil(fireTime * 1000);
if(fireTimeMS < 0){
double withoutCast =
Math.ceil(fireTime * 1000);
System.err.println( "fireTime="
+ fireTime + " before cast=" + withoutCast + " after cast=" + ((long)
withoutCast) + " as one step=" + ((long)Math.ceil(fireTime * 1000)) + "
original calculation=" + fireTimeMS);
fireTimeMS = 1;
}
getTimer().setFireTime(System.currentTimeMillis() + fireTimeMS);
}
Which produces the following output:
fireTime=1.0E-9 before cast=1.0 after cast=1 as one step=1 original
calculation=-9223372036854775808
fireTime=0.03379535675048828 before cast=34.0 after cast=34 as one step=34
original calculation=-9223372036854775808
fireTime=0.042267560958862305 before cast=43.0 after cast=43 as one step=43
original calculation=-9223372036854775808
fireTime=0.04301285743713379 before cast=44.0 after cast=44 as one step=44
original calculation=-9223372036854775808
fireTime=0.041814565658569336 before cast=42.0 after cast=42 as one step=42
original calculation=-9223372036854775808
fireTime=0.03879666328430176 before cast=39.0 after cast=39 as one step=39
original calculation=-9223372036854775808
fireTime=0.04811882972717285 before cast=49.0 after cast=49 as one step=49
original calculation=-9223372036854775808
fireTime=0.0494379997253418 before cast=50.0 after cast=50 as one step=50
original calculation=-9223372036854775808
fireTime=0.04372882843017578 before cast=44.0 after cast=44 as one step=44
original calculation=-9223372036854775808
fireTime=0.04262733459472656 before cast=43.0 after cast=43 as one step=43
original calculation=-9223372036854775808
fireTime=1.0E-9 before cast=1.0 after cast=1 as one step=1 original
calculation=-9223372036854775808
fireTime=0.04141855239868164 before cast=42.0 after cast=42 as one step=42
original calculation=-9223372036854775808
fireTime=0.01515507698059082 before cast=16.0 after cast=16 as one step=16
original calculation=-9223372036854775808
fireTime=0.047502994537353516 before cast=48.0 after cast=48 as one step=48
original calculation=-9223372036854775808
It seems this only happens sometimes in the first calculation. Even when the
ceiling & cast is done again with the same value it doesn't happen a