Ambiguous reference to overloaded definition in scala 2.13.0-RC1

There are a number of errors popping up in the community build for scala 2.13.0-RC1 in the *Spec files like this one:
ambiguous reference to overloaded definition,
[scala-logging] [error] both method error in trait Logger of type (x$1: String, x$2: Object*)Unit
[scala-logging] [error] and  method error in trait Logger of type (x$1: String, x$2: Any)Unit
[scala-logging] [error] match argument types (String,String)
[scala-logging] [error]       logger.error(msg, arg1)

I think the specs could be fixed with some clever annotations and/or asInstanceOf-stuff.
But I think it may require a nice proper fix, as it will probably hit real end-users of "scala-logging"?
See https://github.com/scala/bug/issues/11453 for more information.

The compiler has been fixed recently (verified on 2.13.0-pre-1ae9f82), still need to investigate the test failures (from https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-community-build/2106/consoleText). Details below FYI, or perhaps they ring a bell :-)

Done compiling.
LoggerTakingImplicitSpec:
Calling error with a message
- should call the underlying logger's error method if the error level is enabled
- should not call the underlying logger's error method if the error level is not enabled
Calling error with a message and cause
- should call the underlying logger's error method if the error level is enabled
- should not call the underlying logger's error method if the error level is not enabled
Calling error with a message and parameters
- should call the underlying logger's error method if the error level is enabled *** FAILED ***
  org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.error("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$12(LoggerTakingImplicitSpec.scala:63)
However, there were other interactions with this mock:
logger.isErrorEnabled();
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$12(LoggerTakingImplicitSpec.scala:62)
logger.error("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$12(LoggerTakingImplicitSpec.scala:62)
at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$12(LoggerTakingImplicitSpec.scala:63)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's error method if the error level is not enabled
Calling warn with a message
should call the underlying logger's warn method if the warn level is enabled
should not call the underlying logger's warn method if the warn level is not enabled
Calling warn with a message and cause
should call the underlying logger's warn method if the warn level is enabled
should not call the underlying logger's warn method if the warn level is not enabled
Calling warn with a message and parameters
should call the underlying logger's warn method if the warn level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.warn("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$27(LoggerTakingImplicitSpec.scala:136)

However, there were other interactions with this mock:
logger.isWarnEnabled();
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$27(LoggerTakingImplicitSpec.scala:135)
logger.warn("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$27(LoggerTakingImplicitSpec.scala:135)
at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$27(LoggerTakingImplicitSpec.scala:136)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's warn method if the warn level is not enabled
Calling info with a message
should call the underlying logger's info method if the info level is enabled
should not call the underlying logger's info method if the info level is not enabled
Calling info with a message and cause
should call the underlying logger's info method if the info level is enabled
should not call the underlying logger's info method if the info level is not enabled
Calling info with a message and parameters
should call the underlying logger's info method if the info level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.info("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$42(LoggerTakingImplicitSpec.scala:209)

However, there were other interactions with this mock:
logger.isInfoEnabled();
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$42(LoggerTakingImplicitSpec.scala:208)
logger.info("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$42(LoggerTakingImplicitSpec.scala:208)
at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$42(LoggerTakingImplicitSpec.scala:209)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's info method if the info level is not enabled
Calling debug with a message
should call the underlying logger's debug method if the debug level is enabled
should not call the underlying logger's debug method if the debug level is not enabled
Calling debug with a message and cause
should call the underlying logger's debug method if the debug level is enabled
should not call the underlying logger's debug method if the debug level is not enabled
Calling debug with a message and parameters
should call the underlying logger's debug method if the debug level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.debug("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$57(LoggerTakingImplicitSpec.scala:282)

However, there were other interactions with this mock:
logger.isDebugEnabled();
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$57(LoggerTakingImplicitSpec.scala:281)
logger.debug("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$57(LoggerTakingImplicitSpec.scala:281)
at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$57(LoggerTakingImplicitSpec.scala:282)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's debug method if the debug level is not enabled
Calling trace with a message
should call the underlying logger's trace method if the trace level is enabled
should not call the underlying logger's trace method if the trace level is not enabled
Calling trace with a message and cause
should call the underlying logger's trace method if the trace level is enabled
should not call the underlying logger's trace method if the trace level is not enabled
Calling trace with a message and parameters
should call the underlying logger's trace method if the trace level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.trace("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$72(LoggerTakingImplicitSpec.scala:355)

However, there were other interactions with this mock:
logger.isTraceEnabled();
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$72(LoggerTakingImplicitSpec.scala:354)
logger.trace("corrId - msg", "arg1");
-> at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$72(LoggerTakingImplicitSpec.scala:354)
at com.typesafe.scalalogging.LoggerTakingImplicitSpec.$anonfun$new$72(LoggerTakingImplicitSpec.scala:355)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's trace method if the trace level is not enabled
LoggerWithMarkerSpec:
Calling error with a marker and a message
should call the underlying logger's error method if the error level is enabled
should not call the underlying logger's error method if the error level is not enabled
should call the underlying logger's error method if the error level is enabled and string is interpolated *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$8(LoggerWithMarkerSpec.scala:66)
Actual invocation has different arguments:
logger.error(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$8(LoggerWithMarkerSpec.scala:65)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$8(LoggerWithMarkerSpec.scala:66)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
Calling error with a marker and a message and cause
should call the underlying logger's error method if the error level is enabled
should not call the underlying logger's error method if the error level is not enabled
Calling error with a marker and a message and parameters
should call the underlying logger's error method if the error level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.error(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$19(LoggerWithMarkerSpec.scala:93)

However, there were other interactions with this mock:
logger.isErrorEnabled(
com.typesafe.scalalogging.DummyMarker$@20d686c1
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$19(LoggerWithMarkerSpec.scala:92)
logger.error(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$19(LoggerWithMarkerSpec.scala:92)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$19(LoggerWithMarkerSpec.scala:93)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's error method if the error level is not enabled
Calling warn with a marker and a message
should call the underlying logger's warn method if the warn level is enabled
should not call the underlying logger's warn method if the warn level is not enabled
should call the underlying logger's warn method if the warn level is enabled and string is interpolated *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.warn(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$32(LoggerWithMarkerSpec.scala:134)
Actual invocation has different arguments:
logger.warn(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$32(LoggerWithMarkerSpec.scala:133)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$32(LoggerWithMarkerSpec.scala:134)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
Calling warn with a marker and a message and cause
should call the underlying logger's warn method if the warn level is enabled
should not call the underlying logger's warn method if the warn level is not enabled
Calling warn with a marker and a message and parameters
should call the underlying logger's warn method if the warn level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.warn(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$43(LoggerWithMarkerSpec.scala:161)

However, there were other interactions with this mock:
logger.isWarnEnabled(
com.typesafe.scalalogging.DummyMarker$@20d686c1
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$43(LoggerWithMarkerSpec.scala:160)
logger.warn(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$43(LoggerWithMarkerSpec.scala:160)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$43(LoggerWithMarkerSpec.scala:161)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's warn method if the warn level is not enabled
Calling info with a marker and a message
should call the underlying logger's info method if the info level is enabled
should not call the underlying logger's info method if the info level is not enabled
should call the underlying logger's info method if the info level is enabled and string is interpolated *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.info(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$56(LoggerWithMarkerSpec.scala:202)
Actual invocation has different arguments:
logger.info(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$56(LoggerWithMarkerSpec.scala:201)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$56(LoggerWithMarkerSpec.scala:202)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
Calling info with a marker and a message and cause
should call the underlying logger's info method if the info level is enabled
should not call the underlying logger's info method if the info level is not enabled
Calling info with a marker and a message and parameters
should call the underlying logger's info method if the info level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.info(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$67(LoggerWithMarkerSpec.scala:229)

However, there were other interactions with this mock:
logger.isInfoEnabled(
com.typesafe.scalalogging.DummyMarker$@20d686c1
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$67(LoggerWithMarkerSpec.scala:228)
logger.info(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$67(LoggerWithMarkerSpec.scala:228)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$67(LoggerWithMarkerSpec.scala:229)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's info method if the info level is not enabled
Calling debug with a marker and a message
should call the underlying logger's debug method if the debug level is enabled
should not call the underlying logger's debug method if the debug level is not enabled
should call the underlying logger's debug method if the debug level is enabled and string is interpolated *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.debug(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$80(LoggerWithMarkerSpec.scala:270)
Actual invocation has different arguments:
logger.debug(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$80(LoggerWithMarkerSpec.scala:269)
LoggerSpec:
Calling error with a message
should call the underlying logger's error method if the error level is enabled
should not call the underlying logger's error method if the error level is not enabled
Calling error with an interpolated message
should call the underlying logger's error method with arguments if the error level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error(
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$7(LoggerSpec.scala:54)
Actual invocation has different arguments:
logger.error(
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$7(LoggerSpec.scala:53)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$7(LoggerSpec.scala:54)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$80(LoggerWithMarkerSpec.scala:270)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
at org.scalatest.Transformer.apply(Transformer.scala:22)
should call the underlying logger's error method with two arguments if the error level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error("msg {} {}", "arg1", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$9(LoggerSpec.scala:61)
Actual invocation has different arguments:
logger.error("msg arg1 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$9(LoggerSpec.scala:60)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$9(LoggerSpec.scala:61)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
...
Calling debug with a marker and a message and cause
Calling error with a message and cause
should call the underlying logger's debug method if the debug level is enabled
should call the underlying logger's error method if the error level is enabled
should not call the underlying logger's error method if the error level is not enabled
Calling error with a message and parameters
should call the underlying logger's error method if the error level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.error("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$17(LoggerSpec.scala:89)

However, there were other interactions with this mock:
logger.isErrorEnabled();
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$17(LoggerSpec.scala:88)
logger.error("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$17(LoggerSpec.scala:88)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$17(LoggerSpec.scala:89)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)

should not call the underlying logger's debug method if the debug level is not enabled
...
Calling debug with a marker and a message and parameters
should not call the underlying logger's error method if the error level is not enabled
Calling warn with a message
should call the underlying logger's debug method if the debug level is enabled *** FAILED ***
should call the underlying logger's warn method if the warn level is enabled
should not call the underlying logger's warn method if the warn level is not enabled
Calling warn with an interpolated message
should call the underlying logger's warn method if the warn level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.debug(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$91(LoggerWithMarkerSpec.scala:297)

However, there were other interactions with this mock:
logger.isDebugEnabled(
com.typesafe.scalalogging.DummyMarker$@20d686c1
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$91(LoggerWithMarkerSpec.scala:296)
logger.debug(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$91(LoggerWithMarkerSpec.scala:296)
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.warn(
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$27(LoggerSpec.scala:133)
Actual invocation has different arguments:
logger.warn(
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$27(LoggerSpec.scala:132)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$27(LoggerSpec.scala:133)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$91(LoggerWithMarkerSpec.scala:297)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should call the underlying logger's warn method with two arguments if the warn level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.warn("msg {} {}", "arg1", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$29(LoggerSpec.scala:140)
Actual invocation has different arguments:
logger.warn("msg arg1 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$29(LoggerSpec.scala:139)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$29(LoggerSpec.scala:140)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
at org.scalatest.Transformer.apply(Transformer.scala:20)
Calling warn with a message and cause
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
should call the underlying logger's warn method if the warn level is enabled
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
should not call the underlying logger's warn method if the warn level is not enabled
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
Calling warn with a message and parameters
...
should call the underlying logger's warn method if the warn level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.warn("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$37(LoggerSpec.scala:167)

However, there were other interactions with this mock:
logger.isWarnEnabled();
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$37(LoggerSpec.scala:166)
logger.warn("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$37(LoggerSpec.scala:166)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$37(LoggerSpec.scala:167)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)

should not call the underlying logger's debug method if the debug level is not enabled
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should not call the underlying logger's warn method if the warn level is not enabled
Calling trace with a marker and a message
Calling info with a message
should call the underlying logger's info method if the info level is enabled
should call the underlying logger's trace method if the trace level is enabled
should not call the underlying logger's info method if the info level is not enabled
Calling info with an interpolated message
should not call the underlying logger's trace method if the trace level is not enabled
should call the underlying logger's info method if the info level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.info(
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$47(LoggerSpec.scala:211)
Actual invocation has different arguments:
logger.info(
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$47(LoggerSpec.scala:210)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$47(LoggerSpec.scala:211)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
should call the underlying logger's trace method if the trace level is enabled and string is interpolated *** FAILED ***
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.trace(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$104(LoggerWithMarkerSpec.scala:338)
Actual invocation has different arguments:
logger.trace(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$104(LoggerWithMarkerSpec.scala:337)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should call the underlying logger's info method with two arguments if the info level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.info("msg {} {}", "arg1", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$49(LoggerSpec.scala:218)
Actual invocation has different arguments:
logger.info("msg arg1 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$49(LoggerSpec.scala:217)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$49(LoggerSpec.scala:218)
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$104(LoggerWithMarkerSpec.scala:338)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
...
at org.scalatest.Transformer.apply(Transformer.scala:22)
Calling info with a message and cause
at org.scalatest.Transformer.apply(Transformer.scala:20)
should call the underlying logger's info method if the info level is enabled
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
should not call the underlying logger's info method if the info level is not enabled
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
Calling info with a message and parameters
should call the underlying logger's info method if the info level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.info("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$57(LoggerSpec.scala:245)

However, there were other interactions with this mock:
logger.isInfoEnabled();
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$57(LoggerSpec.scala:244)
logger.info("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$57(LoggerSpec.scala:244)
...
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$57(LoggerSpec.scala:245)
Calling trace with a marker and a message and cause

should call the underlying logger's trace method if the trace level is enabled
should not call the underlying logger's trace method if the trace level is not enabled
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should not call the underlying logger's info method if the info level is not enabled
Calling debug with a message
should call the underlying logger's debug method if the debug level is enabled
should not call the underlying logger's debug method if the debug level is not enabled
Calling debug with an interpolated message
should call the underlying logger's debug method if the debug level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.debug(
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$67(LoggerSpec.scala:288)
Actual invocation has different arguments:
logger.debug(
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$67(LoggerSpec.scala:287)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$67(LoggerSpec.scala:288)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
Calling trace with a marker and a message and parameters
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should call the underlying logger's trace method if the trace level is enabled *** FAILED ***
should call the underlying logger's debug method with two arguments if the debug level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.debug("msg {} {}", "arg1", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$69(LoggerSpec.scala:295)
Actual invocation has different arguments:
logger.debug("msg arg1 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$69(LoggerSpec.scala:294)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$69(LoggerSpec.scala:295)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.trace(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$115(LoggerWithMarkerSpec.scala:365)

However, there were other interactions with this mock:
logger.isTraceEnabled(
com.typesafe.scalalogging.DummyMarker$@20d686c1
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$115(LoggerWithMarkerSpec.scala:364)
logger.trace(
com.typesafe.scalalogging.DummyMarker$@20d686c1,
"msg",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$115(LoggerWithMarkerSpec.scala:364)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
Calling debug with a message and cause

should call the underlying logger's debug method if the debug level is enabled
should not call the underlying logger's debug method if the debug level is not enabled
Calling debug with a message and parameters
should call the underlying logger's debug method if the debug level is enabled *** FAILED ***
at com.typesafe.scalalogging.LoggerWithMarkerSpec.$anonfun$new$115(LoggerWithMarkerSpec.scala:365)
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.debug("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$77(LoggerSpec.scala:322)

However, there were other interactions with this mock:
logger.isDebugEnabled();
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$77(LoggerSpec.scala:321)
logger.debug("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$77(LoggerSpec.scala:321)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$77(LoggerSpec.scala:322)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's debug method if the debug level is not enabled
Calling trace with a message
should call the underlying logger's trace method if the trace level is enabled
should not call the underlying logger's trace method if the trace level is not enabled
Calling trace with an interpolated message
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
should call the underlying logger's trace method if the trace level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.trace(
"msg {} {} {}",
"arg1",
1,
"arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$87(LoggerSpec.scala:366)
Actual invocation has different arguments:
logger.trace(
"msg arg1 1 arg3"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$87(LoggerSpec.scala:365)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$87(LoggerSpec.scala:366)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
...
should call the underlying logger's trace method with two arguments if the trace level is enabled *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.trace("msg {} {}", "arg1", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$89(LoggerSpec.scala:373)
Actual invocation has different arguments:
logger.trace("msg arg1 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$89(LoggerSpec.scala:372)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$89(LoggerSpec.scala:373)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should not call the underlying logger's trace method if the trace level is not enabled
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
Calling trace with a message and cause
should call the underlying logger's trace method if the trace level is enabled
should not call the underlying logger's trace method if the trace level is not enabled
Calling trace with a message and parameters
should call the underlying logger's trace method if the trace level is enabled *** FAILED ***
org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
logger.trace("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$97(LoggerSpec.scala:400)

However, there were other interactions with this mock:
logger.isTraceEnabled();
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$97(LoggerSpec.scala:399)
logger.trace("msg", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$97(LoggerSpec.scala:399)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$97(LoggerSpec.scala:400)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...

should not call the underlying logger's trace method if the trace level is not enabled
Logging a message using the standard string interpolator
should call the underlying format method with boxed versions of value arguments *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error("msg {}", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$102(LoggerSpec.scala:427)
Actual invocation has different arguments:
logger.error("msg 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$102(LoggerSpec.scala:426)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$102(LoggerSpec.scala:427)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should call the underlying format method with boxed versions of arguments of type Any *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error("msg {}", 1);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$104(LoggerSpec.scala:434)
Actual invocation has different arguments:
logger.error("msg 1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$104(LoggerSpec.scala:433)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$104(LoggerSpec.scala:434)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should call the underlying format method escaping literal format anchors *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error("foo {} bar {}", "arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$106(LoggerSpec.scala:441)
Actual invocation has different arguments:
logger.error("foo {} bar arg1");
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$106(LoggerSpec.scala:440)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$106(LoggerSpec.scala:441)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should call the underlying method without escaping format anchors when the message has no interpolations
should call the underlying format method when the interpolated string contains escape sequences *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error(
"foo
bar {}",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$110(LoggerSpec.scala:455)
Actual invocation has different arguments:
logger.error(
"foo
bar arg1"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$110(LoggerSpec.scala:454)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$110(LoggerSpec.scala:455)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
should call the underlying format method when the interpolated string is triple quoted and contains escape sequences *** FAILED ***
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
logger.error(
"foo
bar {}",
"arg1"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$112(LoggerSpec.scala:462)
Actual invocation has different arguments:
logger.error(
"foo
bar arg1"
);
-> at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$112(LoggerSpec.scala:461)
at com.typesafe.scalalogging.LoggerSpec.$anonfun$new$112(LoggerSpec.scala:462)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.WordSpecLike$$anon$3.apply(WordSpecLike.scala:1075)
at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
...
Logging a message using slf4 interpolator and Any args
should map args to AnyRef for 2 args
should map args to AnyRef for non 2 args
Serializing Logger
should be usable after deserialization
should constructed by explicit class and be usable after deserialization
should constructed by implicit class tag and be usable after deserialization
Serializing LoggerTakingImplicit
should be usable after deserialization
should constructed by explicit class and be usable after deserialization
should constructed by implicit class tag and be usable after deserialization
Run completed in 1 second, 138 milliseconds.
Total number of tests run: 119
Suites: completed 3, aborted 0
Tests: succeeded 84, failed 35, canceled 0, ignored 0, pending 0
*** 35 TESTS FAILED ***
Failed tests:
com.typesafe.scalalogging.LoggerSpec
com.typesafe.scalalogging.LoggerWithMarkerSpec
com.typesafe.scalalogging.LoggerTakingImplicitSpec
(Test / test) sbt.TestsFailedException: Tests unsuccessful

Oh wow, ok I see what's causing the test failures. The s string interpolator is now a macro, so LoggerMacro.deconstructInterpolatedMessage sees the concatenated trees rather than the StringContext call.

I think we're good for RC2 here, pushed a branch with quick & dirty fixes for tests: https://github.com/scalacommunitybuild/scala-logging/tree/community-build-2.13

By that I mean very specifically the compiler side of things looks ok. The scala-logging issues remain:

[ ] 2.13's s string interpolator is a (fast track) macro, so its expansion is seen in the logger macro
[ ] vararg matches and mockito? I have no idea what all those List(arg1): _* were about.


Set up consistent securityContext across charts

Extension of #195 and considering the pattern set up by #198

ensure all products have pod.containerSecurityContext and pod.securityContext
set up a backwards-compatible mechanism for notifying users / allowing them to switch over (deprecate, etc.)

I'll also note that a top-level containerSecurityContext is a common Helm idiom (that is, not nested under pod), so we might want to support that as well.


Fix compiler stack bug

When a mask has an object inside of an array, e.g., a(b/c),d and the closing of the array is immediately follows the ending of the nested object, the ( token is not properly popped off the stack array.
In this example when you get to the ) token, the stack is ['(', '/'] and ) pops off the /. This leaves the ( perpetually in the stack, and the d object to be placed in a array.
I have changed the behavior of the compiler to now have 2 stacks. One for arrays and one for objects. This allows them to keep track of their own state.

Np @nemtsov. Thank you for making this tool in the first place!

@megglymark I haven't forgotten about this, but just haven't found the time to dig into. I'll find the time this week.

@megglymark this is fixed on v1.0.3. Thank you!


[Bug]: Can't  run  vllm distributed inference with vLLM + Ray

Your current environment

Collecting environment information...
PyTorch version: 2.3.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.3 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: version 3.29.3
Libc version: glibc-2.35

Python version: 3.10.14 (main, May  6 2024, 19:42:50) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.15.0-107-generic-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: 12.4.99
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA GeForce RTX 2080 Ti
GPU 1: NVIDIA GeForce RTX 2080 Ti
GPU 2: NVIDIA GeForce RTX 2080 Ti
GPU 3: NVIDIA GeForce RTX 2080 Ti
GPU 4: NVIDIA GeForce RTX 2080 Ti
GPU 5: NVIDIA GeForce RTX 2080 Ti
GPU 6: NVIDIA GeForce RTX 2080 Ti
GPU 7: NVIDIA GeForce RTX 2080 Ti

Nvidia driver version: 550.54.14
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Address sizes:                      46 bits physical, 48 bits virtual
Byte Order:                         Little Endian
CPU(s):                             56
On-line CPU(s) list:                0-55
Vendor ID:                          GenuineIntel
Model name:                         Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
CPU family:                         6
Model:                              79
Thread(s) per core:                 2
Core(s) per socket:                 14
Socket(s):                          2
Stepping:                           1
CPU max MHz:                        3300.0000
CPU min MHz:                        1200.0000
BogoMIPS:                           4799.97
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap intel_pt xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts md_clear flush_l1d
L1d cache:                          896 KiB (28 instances)
L1i cache:                          896 KiB (28 instances)
L2 cache:                           7 MiB (28 instances)
L3 cache:                           70 MiB (2 instances)
NUMA node(s):                       2
NUMA node0 CPU(s):                  0-13,28-41
NUMA node1 CPU(s):                  14-27,42-55
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        KVM: Mitigation: VMX unsupported
Vulnerability L1tf:                 Mitigation; PTE Inversion
Vulnerability Mds:                  Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Meltdown:             Mitigation; PTI
Vulnerability Mmio stale data:      Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Retpolines; IBPB conditional; IBRS_FW; STIBP conditional; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Mitigation; Clear CPU buffers; SMT vulnerable

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] nvidia-nccl-cu12==2.20.5
[pip3] torch==2.3.0
[pip3] triton==2.3.0
[pip3] vllm_nccl_cu12==<IP_ADDRESS>.4.0
[conda] numpy                     1.26.4                   pypi_0    pypi
[conda] nvidia-nccl-cu12          2.20.5                   pypi_0    pypi
[conda] torch                     2.3.0                    pypi_0    pypi
[conda] triton                    2.3.0                    pypi_0    pypi
[conda] vllm-nccl-cu12            <IP_ADDRESS>.4.0             pypi_0    pypiROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.4.2
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    GPU1    GPU2    GPU3    GPU4    GPU5    GPU6    GPU7    NIC0    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      PIX     PHB     PHB     SYS     SYS     SYS     SYS     PHB     0-13,28-41      0               N/A
GPU1    PIX      X      PHB     PHB     SYS     SYS     SYS     SYS     PHB     0-13,28-41      0               N/A
GPU2    PHB     PHB      X      PIX     SYS     SYS     SYS     SYS     PHB     0-13,28-41      0               N/A
GPU3    PHB     PHB     PIX      X      SYS     SYS     SYS     SYS     PHB     0-13,28-41      0               N/A
GPU4    SYS     SYS     SYS     SYS      X      PIX     PHB     PHB     SYS     14-27,42-55     1               N/A
GPU5    SYS     SYS     SYS     SYS     PIX      X      PHB     PHB     SYS     14-27,42-55     1               N/A
GPU6    SYS     SYS     SYS     SYS     PHB     PHB      X      PIX     SYS     14-27,42-55     1               N/A
GPU7    SYS     SYS     SYS     SYS     PHB     PHB     PIX      X      SYS     14-27,42-55     1               N/A
NIC0    PHB     PHB     PHB     PHB     SYS     SYS     SYS     SYS      X

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

NIC Legend:

  NIC0: rocep1s0

🐛 Describe the bug
I have two machines each equipped with eight 2080ti (22G) GPUs. Following the official tutorial, I ran ray start --head on the master node and ray start --address='xxx.xxx.xxx.xxx:6379' on another node.
I ran ray status to check, and here is the output:
(vllm042) root@ubuntu:~# ray status
======== Autoscaler status: 2024-05-29 04:15:40.185279 ========
Node status
---------------------------------------------------------------
Active:
 1 node_44ba686d06daa1e59b426d84054a70f867ae791fc1ac8e1ca9b89395
 1 node_ad1ec224eb7ec94e75064d9463a6b129a16ade62c047833e53ccdce7
Pending:
 (no pending nodes)
Recent failures:
 (no failures)

Resources
---------------------------------------------------------------
Usage:
 0.0/112.0 CPU
 16.0/16.0 GPU (16.0 used of 16.0 reserved in placement groups)
 0B/163.40GiB memory
 0B/74.02GiB object_store_memory

Demands:
 (no resource demands)

However, when I run the following code:
from vllm import LLM
llm = LLM(model="/root/data_ssd/c4ai-command-r-plus",
          tensor_parallel_size=16, dtype="float16",
          gpu_memory_utilization=0.9,
          worker_use_ray=True,
          max_model_len=6000,
          enforce_eager=True)

I receive the following error:
WARNING 05-29 04:07:29 config.py:405] Possibly too large swap space. 64.00 GiB out of the 125.75 GiB total CPU memory is allocated for the swap space.
2024-05-29 04:07:29,877	INFO worker.py:1564 -- Connecting to existing Ray cluster at address: <IP_ADDRESS>:6379...
2024-05-29 04:07:29,884	INFO worker.py:1749 -- Connected to Ray cluster.
INFO 05-29 04:07:30 llm_engine.py:100] Initializing an LLM engine (v0.4.2) with config: model='/root/data_ssd/c4ai-command-r-plus', speculative_config=None, tokenizer='/root/data_ssd/c4ai-command-r-plus', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.float16, max_seq_len=6000, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=16, disable_custom_all_reduce=False, quantization=None, enforce_eager=True, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), seed=0, served_model_name=/root/data_ssd/c4ai-command-r-plus)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO 05-29 04:08:10 utils.py:660] Found nccl from library /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1
(RayWorkerWrapper pid=6565, ip=<IP_ADDRESS>) INFO 05-29 04:08:10 utils.py:660] Found nccl from library /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1
INFO 05-29 04:08:16 selector.py:69] Cannot use FlashAttention-2 backend for Volta and Turing GPUs.
INFO 05-29 04:08:16 selector.py:32] Using XFormers backend.
(RayWorkerWrapper pid=17750) INFO 05-29 04:08:16 selector.py:69] Cannot use FlashAttention-2 backend for Volta and Turing GPUs.
(RayWorkerWrapper pid=17750) INFO 05-29 04:08:16 selector.py:32] Using XFormers backend.
(RayWorkerWrapper pid=18175) INFO 05-29 04:08:10 utils.py:660] Found nccl from library /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 [repeated 14x across cluster] (Ray deduplicates logs by default. Set RAY_DEDUP_LOGS=0 to disable log deduplication, or see https://docs.ray.io/en/master/ray-observability/user-guides/configure-logging.html#log-deduplication for more options.)
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145] Error executing method init_device. This might cause deadlock in distributed execution.
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145] Traceback (most recent call last):
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 137, in execute_method
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     return executor(*args, **kwargs)
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/vllm/worker/worker.py", line 111, in init_device
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     init_worker_distributed_environment(self.parallel_config, self.rank,
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/vllm/worker/worker.py", line 288, in init_worker_distributed_environment
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     init_distributed_environment(parallel_config.world_size, rank,
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/vllm/distributed/parallel_state.py", line 78, in init_distributed_environment
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     _CPU_WORLD_GROUP = torch.distributed.new_group(ranks=ranks,
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/torch/distributed/c10d_logger.py", line 89, in wrapper
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     func_return = func(*args, **kwargs)
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 3868, in new_group
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     return _new_group_with_tag(ranks, timeout, backend, pg_options, None, use_local_synchronization=use_local_synchronization)
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 3939, in _new_group_with_tag
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     pg, pg_store = _new_process_group_helper(
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 1509, in _new_process_group_helper
(RayWorkerWrapper pid=6634, ip=<IP_ADDRESS>) ERROR 05-29 04:08:22 worker_base.py:145]     backend_class = ProcessGroupGloo(backend_prefix_store, group_rank, group_size, timeout=timeout)
...
ERROR 05-29 04:08:22 worker_base.py:145]     pg, pg_store = _new_process_group_helper(
ERROR 05-29 04:08:22 worker_base.py:145]   File "/root/miniconda3/envs/vllm042/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 1509, in _new_process_group_helper
ERROR 05-29 04:08:22 worker_base.py:145]     backend_class = ProcessGroupGloo(backend_prefix_store, group_rank, group_size, timeout=timeout)
ERROR 05-29 04:08:22 worker_base.py:145] RuntimeError: Gloo connectFullMesh failed with [../third_party/gloo/gloo/transport/tcp/pair.cc:144] no error

Try setting GLOO_SOCKET_IFNAME?

Try setting GLOO_SOCKET_IFNAME?

I got my ifconfig like this:
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
inet6 fe80::a236:9fff:fe80:6890  prefixlen 64  scopeid 0x20
ether a0:36:9f:80:68:90  txqueuelen 1000  (Ethernet)
RX packets 4477  bytes 1317080 (1.3 MB)
RX errors 0  dropped 6  overruns 0  frame 0
TX packets 4520  bytes 3066153 (3.0 MB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
inet6 fe80::526b:4bff:fe51:2640  prefixlen 64  scopeid 0x20
ether 50:6b:4b:51:26:40  txqueuelen 1000  (Ethernet)
RX packets 166  bytes 10550 (10.5 KB)
RX errors 0  dropped 147  overruns 0  frame 0
TX packets 14  bytes 1056 (1.0 KB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet <IP_ADDRESS>  netmask <IP_ADDRESS>
inet6 ::1  prefixlen 128  scopeid 0x10
loop  txqueuelen 1000  (Local Loopback)
RX packets 5763  bytes 3492496 (3.4 MB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 5763  bytes 3492496 (3.4 MB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
So, should I do :os.environ['GLOO_SOCKET_IFNAME'] = 'eth2'

Not sure in this case, I think you could potentially try both? Depends on your HW setup.

Not sure in this case, I think you could potentially try both? Depends on your HW setup.

any instruction about HW setup?

No I don't have too much information - I was using V100 nodes from https://org.nebius.ai/ where I needed to do export GLOO_SOCKET_IFNAME=eth0 based on the interfaces available on my instances

No I don't have too much information - I was using V100 nodes from https://org.nebius.ai/ where I needed to do export GLOO_SOCKET_IFNAME=eth0 based on the interfaces available on my instances

Thanks

I also encountered this problem. Is there any solution? Thank you guys very much!
@andoorve @linchen111 @tmm1 @markmc @zhouyuan @WoosukKwon
/usr4/ec523/brucejia/.local/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py:468: FutureWarning: The `use_auth_token` argument is deprecated and will be removed in v5 of Transformers. Please use `token` instead.
  warnings.warn(
Downloading shards: 100%|██████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 1285.22it/s]
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████| 4/4 [00:03<00:00,  1.20it/s]
/usr4/ec523/brucejia/.local/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py:769: FutureWarning: The `use_auth_token` argument is deprecated and will be removed in v5 of Transformers. Please use `token` instead.
  warnings.warn(
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Trainable params: 8,030,261,248 | All params: 8,030,261,248 | Trainable%: 100.00%
Successfully save the tokenizer!
Successfully save the model!

Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
2024-06-09 21:03:54,034 INFO worker.py:1753 -- Started a local Ray instance.
INFO 06-09 21:03:54 llm_engine.py:161] Initializing an LLM engine (v0.4.3) with config: model='./save_folder', speculative_config=None, tokenizer='meta-llama/Meta-Llama-3-8B-Instruct', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, rope_scaling=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=8192, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=2, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), seed=0, served_model_name=./save_folder)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
(pid=3543508) /usr4/ec523/brucejia/.local/lib/python3.10/site-packages/transformers/utils/hub.py:124: FutureWarning: Using `TRANSFORMERS_CACHE` is deprecated and will be removed in v5 of Transformers. Use `HF_HOME` instead.
(pid=3543508)   warnings.warn(
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148] Error executing method init_device. This might cause deadlock in distributed execution.
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148] Traceback (most recent call last):
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]   File "/usr4/ec523/brucejia/.local/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 140, in execute_method
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]     return executor(*args, **kwargs)
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]   File "/usr4/ec523/brucejia/.local/lib/python3.10/site-packages/vllm/worker/worker.py", line 105, in init_device
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]     torch.cuda.set_device(self.device)
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]   File "/usr4/ec523/brucejia/.local/lib/python3.10/site-packages/torch/cuda/__init__.py", line 399, in set_device
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]     torch._C._cuda_setDevice(device)
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148] RuntimeError: CUDA error: CUDA-capable device(s) is/are busy or unavailable
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148] CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148] For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148] Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
(RayWorkerWrapper pid=3543610) ERROR 06-09 21:03:59 worker_base.py:148]

Best regards,
Shuyue
June 9th, 2024

I've encountered the same problem on version v.0.5.0

I've encountered the same problem on version v.0.5.0

Please check this solution: https://github.com/vllm-project/vllm/issues/2794#issuecomment-2159772291
It works on my side. The only problem is that the memory of the distributed GPU cannot be released, unfortunately. I am still working on this problem.
Best regards,
Shuyue
June 13th, 2024


remove console.log call in cli.js

This line pollutes the cli output.
Instead, visionmedia/debug may be used for this purpose.

Oh of cause this should not be there. Could you prepare a pull request? Thanks.

Sure.


Add missing types to component properties

@damsfx Other pages use the full path to the UI docs like below:
[Winter CMS icon collection](/docs/v1.2/ui/style/icon), maybe we should do the same here.


Fix Graph API app proxy application creation sample

The current sample version does contain an error that prevents the creation of an application proxy app end-to-end via Microsoft Graph. Reason being the identifierUris to be set are incorrect in the sample.

for questions about the PR reach out to<EMAIL_ADDRESS>


Cross-platform Remote Debugging - Port Selector dialog not implemented

Clicking on "Find" after selecting "Python remote (ptvsd)" transport and "tcp://@:5678" as qualifier ( and  were replaced by real values), resulted  in and error message dialogue:

Firewalls are not an issue. Plus the error dialogue shows instantaneously (does not indicate trying to connect anywhere), no attempt is made to establish any tcp connection.
I'm using Visual Studio 2015 Community Edition (Update 1) running on Windows 7 x64 (also tried it on 10) attaching to Ubuntu 15.10 x64. Python 3.4.3+, ptvsd 2.2.0.

"Find" is simply not implemented.
But it doesn't actually do what you probably think it does - in particular, it doesn't act as a "Submit" button for the Qualifier field. To have the process list refresh after you've entered the qualifier, just press Enter.
"Find" is supposed to scan the network somehow, and offer the list of valid qualifiers to select from.

We should implement it and pop up a message telling people to just hit Enter.


Switch to Intel MKL on systems with Intel compiler

Description
The Nautilus site config shows how to switch to Intel MKL as provider for blas and lapack (and fftw-api if I remember correctly).
I think it would be good to switch to Intel MKL when using the Intel compiler, and keep openblas/fftw for gcc and clang. This ensures that we remain compatible with the different providers. We can probably make use of the require: one_of / when syntax to implement this.
Update 2023/10/11: See https://github.com/JCSDA/spack/pull/342 for work that needs to be done on ectrans and ecmwf-atlas.
Requirements
See above
Acceptance Criteria (Definition of Done)
A clean solution to use Intel MKL with at least the Intel compilers.
Dependencies
n/a

Can you elaborate on "remain compatible with the different providers," i.e., are you talking about the downstream packages or spack-stack or..? All other things being equal I would be inclined to use openblas+fftw for everything just for consistency, but if some applications need MKL for their own fourier transform/linear algebra purposes then that's another matter.

Can you elaborate on "remain compatible with the different providers," i.e., are you talking about the downstream packages or spack-stack or..? All other things being equal I would be inclined to use openblas+fftw for everything just for consistency, but if some applications need MKL for their own fourier transform/linear algebra purposes then that's another matter.

If you take a look at the nautilus site config, you'll be able to see I think. I propose that when we use Intel compilers, we use MKL as the provider for blas, lapack, fftw-api. When we use GNU, we keep the current combination of openblas as provider for blas and lapack, and fftw for fftw-api.

Would it be a reasonable goal for the 1.8.0 release to build a second unified env (or subset thereof) using MKL on a handful of systems? That would give developers a chance to test and give feedback.

Would it be a reasonable goal for the 1.8.0 release to build a second unified env (or subset thereof) using MKL on a handful of systems? That would give developers a chance to test and give feedback.

Yes, of course. Good idea


Add runtime component for frankenphp

Ref: https://frankenphp.dev/docs/worker/#symfony-runtime

runtime component is not required when we don't use worker mode.

Maybe we can experiment with worker mode and do some benchmark.


How to sort results by _score when using ebean with elasticsearch?

I tried using orderBy("_score desc") but it doesn't work. Any suggestion?
The code piece looks like:
PagedList obj = T.find.where()
.multiMatch(query,"key1","key2","key3")
.setMaxRows(5)
.orderBy("_score desc")
.setUseDocStore(true)
.findPagedList();

Hi,
With Ebean we have the policy of wanting questions to be posted to the google group forum at:
https://groups.google.com/forum/#!forum/ebean
This policy is stated at: http://ebean-orm.github.io/support
The reason for the policy is because protracted questions / discussions on github effectively spam the "watchers" (and we want to encourage people to watch the project and get a high quality stream of code changes).
Can you please post your question to https://groups.google.com/forum/#!forum/ebean
Thanks, Rob.


font size improvements

closes #44 and #45

fixed keyboard shortcut registering (listeners were being called twice)
now saving fontSize in the state of Hyperterm
Term now accepts fontSize as a prop and internally sets it
added font size indicator on change (next to rows x cols)

(bonus improvement: now font size is shared between all tabs)

nice, great refactor!

Super clean stuff @nfcampos

Amazing work @nfcampos

Does this include changing the types of fonts @rauchg?

We're doing that through config, see the other PR.

What PR?


make numeric format IEEE Float32

convert an input segy trace data from IBM 32-bit format to IEEE Float32; requires modifying the file, i.e. binary, header as well.

Better to provide examples converting from 'big' endian to 'little' endian. Most segy's will have the standard (circa 1970's) 'big' endian byteorder, 'IBM Float' numeric formatting, and 'EBCDIC' textual formatting. Converting to a modern format should IMO use 'little' endian byteorder, 'IEEE Float32' numeric formatting, and 'ascii' textual formatting. When doing this conversion, segy's will also likely require a header mapping for other software to easily ingest. This is really part of a much larger issue.


SwellRT's communication is broken after websocket is closed

This issue refers to wave.p2pvalue.eu server.
Symptoms:

Created a Wave with showcase list example project.

A Websocket connection is created successfully by the Atmoshphere layer

After 6 minutes with no activity (no messages sent to the server),  the Websocket receives a "Connection Close Frame (Opcode 8, mask)" message and the websocket is closed.

Atmosphere layer sends a Transport close message to the server ("https://wave.p2pvalue.eu/atmosphere?X-Atmosphere-Transport=close&...") but it gets a 504 Gateway Time-out response after 1 minute from the NGINX server.

The broswer doesn't pass this response to the Atmoshphere layer because of CORS restriction (no 'Access-Control-Allow-Origin' is present in the response).

@atd please, could you check why "https://wave.p2pvalue.eu/atmosphere" gets a 504 Time-out? thanks

Of course! A quick first look shows people saying that 5 minutes tied to a client is too much, and it can be used for DOS attacks:
http://howtounix.info/howto/110-connection-timed-out-error-in-nginx

Looking at nginx log messages, it seems wave has closed the connection:
2015/06/06 10:58:58 [error] 24315#0: *201704 upstream timed out (110: Connection timed out) while reading response header from upstream, client: <IP_ADDRESS>, server: wave.p2pvalue.eu, request: "GET /atmosphere?X-Atmosphere-Transport=close&X-Atmosphere-tracking-id=635d8452-2915-4a1c-974e-3d4c28be593a&_=1433580703948 HTTP/1.1", upstream: "http://<IP_ADDRESS>:9898/atmosphere?X-Atmosphere-Transport=close&X-Atmosphere-tracking-id=635d8452-2915-4a1c-974e-3d4c28be593a&_=1433580703948", host: "wave.p2pvalue.eu", referrer: "https://p.p2pvalue.eu/"
2015/06/06 11:36:23 [error] 24316#0: *201875 upstream timed out (110: Connection timed out) while reading response header from upstream, client: <IP_ADDRESS>, server: wave.p2pvalue.eu, request: "GET /atmosphere?X-Atmosphere-Transport=close&X-Atmosphere-tracking-id=25eb24a9-1c8b-473a-ba6c-5ffda035d402&_=1433582948755 HTTP/1.1", upstream: "http://<IP_ADDRESS>:9898/atmosphere?X-Atmosphere-Transport=close&X-Atmosphere-tracking-id=25eb24a9-1c8b-473a-ba6c-5ffda035d402&_=1433582948755", host: "wave.p2pvalue.eu", referrer: "http://showcase.net:9009/"
2015/06/06 12:17:19 [error] 24316#0: *201900 upstream timed out (110: Connection timed out) while reading response header from upstream, client: <IP_ADDRESS>, server: wave.p2pvalue.eu, request: "GET /atmosphere HTTP/1.1", upstream: "http://<IP_ADDRESS>:9898/atmosphere", host: "wave.p2pvalue.eu"

However, this is what I get in pear2pear:
nvoking executeWebSocket
wave.p2pvalue.eu/atmosphere/atmosphere.js:2898 Using URL: wss://wave.p2pvalue.eu/atmosphere?X-Atmosphere-tracking-id=0&X-Atmosphere-F…cript&X-Atmosphere-Transport=websocket&X-Cache-Date=0&X-atmo-protocol=true
wave.p2pvalue.eu/atmosphere/atmosphere.js:2898 Websocket successfully opened
wave.p2pvalue.eu/atmosphere/atmosphere.js:2898 Atmosphere Connection Open
wave.p2pvalue.eu/atmosphere/atmosphere.js:2898 Atmosphere Message received: {"messageType":"ProtocolWaveletUpdate","sequenceNumber":0,"message":{"1":"prototype.p2pvalue.eu/s+vc7wVvici7A/~/user+usuariotesttimeline@prototype.p2pvalue.eu","2":[],"3":{"1":1.0,"2":"5E3CE9B1F4058731AF5C01AC6C2474C6620E90EA"},"4":{"1":1.0,"2":"5E3CE9B1F4058731AF5C01AC6C2474C6620E90EA"},"5":{"1":"prototype.p2pvalue.eu/user+usuariotesttimeline@prototype.p2pvalue.eu","2":["usuariotesttimeline@prototype.p2pvalue.eu"],"3":[],"4":{"1":1.0,"2":"5E3CE9B1F4058731AF5C01AC6C2474C6620E90EA"},"5":[-1181071919,333],"6":"usuariotesttimeline@prototype.p2pvalue.eu","7":[-1181071919,333]},"7":"ch3"}}
wave.p2pvalue.eu/atmosphere/atmosphere.js:2898 Atmosphere Message received: {"messageType":"ProtocolWaveletUpdate","sequenceNumber":0,"message":{"1":"prototype.p2pvalue.eu/s+vc7wVvici7A/~/dummy+root","2":[],"6":true}}
wave.p2pvalue.eu/atmosphere/atmosphere.js:2898 Atmosphere Message received<EMAIL_ADDRESS>is not a participant of [WaveletName prototype.p2pvalue.eu/s+vc7wVvici7A/prototype.p2pvalue.eu/swl+root]"}}
swellrt-1.js:2897 Uncaught java.lang.RuntimeException: org.waveprotocol.wave.concurrencycontrol.common.CorruptionDetail: [INVALID_OPERATION] Channel Exception
atmosphere.js:2898 Atmosphere Connection Close
atmosphere.js:2898 Atmosphere Connection Reconnect
atmosphere.js:2898 Reconnect request.transport: websocket
atmosphere.js:2898 Reconnect request.enableXDR: true
atmosphere.js:2898 Reconnect request.readResponsesHeaders: false
atmosphere.js:2898 Reconnect request.withCredentials: true
atmosphere.js:2898 Reconnect request.maxReconnectOnClose: 5
atmosphere.js:2898 Invoking executeWebSocket
atmosphere.js:2898 Using URL: wss://wave.p2pvalue.eu/atmosphere?X-Atmosphere-tracking-id=04a0e694-7d69-41…sphere-Transport=websocket&X-Cache-Date=1433588054525&X-atmo-protocol=true
atmosphere.js:2898 Websocket successfully opened
atmosphere.js:2898 Atmosphere Connection ReOpen
atmosphere.js:2898 Atmosphere Connection Close
atmosphere.js:2898 Atmosphere Connection Reconnect
atmosphere.js:2898 Reconnect request.transport: websocket
atmosphere.js:2898 Reconnect request.enableXDR: true
atmosphere.js:2898 Reconnect request.readResponsesHeaders: false
atmosphere.js:2898 Reconnect request.withCredentials: true
atmosphere.js:2898 Reconnect request.maxReconnectOnClose: 5
atmosphere.js:2898 Invoking executeWebSocket
atmosphere.js:2898 Using URL: wss://wave.p2pvalue.eu/atmosphere?X-Atmosphere-tracking-id=04a0e694-7d69-41…sphere-Transport=websocket&X-Cache-Date=1433588114725&X-atmo-protocol=true
atmosphere.js:2898 Websocket successfully opened
atmosphere.js:2898 Atmosphere Connection ReOpen
atmosphere.js:2898 Atmosphere Connection Close
atmosphere.js:2898 Atmosphere Connection Reconnect
atmosphere.js:2898 Reconnect request.transport: websocket
atmosphere.js:2898 Reconnect request.enableXDR: true
atmosphere.js:2898 Reconnect request.readResponsesHeaders: false
atmosphere.js:2898 Reconnect request.withCredentials: true
atmosphere.js:2898 Reconnect request.maxReconnectOnClose: 5
atmosphere.js:2898 Invoking executeWebSocket
atmosphere.js:2898 Using URL: wss://wave.p2pvalue.eu/atmosphere?X-Atmosphere-tracking-id=04a0e694-7d69-41…sphere-Transport=websocket&X-Cache-Date=1433588174924&X-atmo-protocol=true
atmosphere.js:2898 Websocket successfully opened
atmosphere.js:2898 Atmosphere Connection ReOpen
atmosphere.js:2898 Atmosphere Connection Close
atmosphere.js:2898 Atmosphere Connection Reconnect
atmosphere.js:2898 Reconnect request.transport: websocket
atmosphere.js:2898 Reconnect request.enableXDR: true
atmosphere.js:2898 Reconnect request.readResponsesHeaders: false
atmosphere.js:2898 Reconnect request.withCredentials: true
atmosphere.js:2898 Reconnect request.maxReconnectOnClose: 5
atmosphere.js:2898 Invoking executeWebSocket
atmosphere.js:2898 Using URL: wss://wave.p2pvalue.eu/atmosphere?X-Atmosphere-tracking-id=04a0e694-7d69-41…sphere-Transport=websocket&X-Cache-Date=1433588235124&X-atmo-protocol=true
atmosphere.js:2898 Websocket successfully opened
atmosphere.js:2898 Atmosphere Connection ReOpen
atmosphere.js:2898 Atmosphere Connection Close
atmosphere.js:2898 Atmosphere Connection Reconnect
atmosphere.js:2898 Reconnect request.transport: websocket
atmosphere.js:2898 Reconnect request.enableXDR: true
atmosphere.js:2898 Reconnect request.readResponsesHeaders: false
atmosphere.js:2898 Reconnect request.withCredentials: true
atmosphere.js:2898 Reconnect request.maxReconnectOnClose: 5
atmosphere.js:2898 Invoking executeWebSocket
atmosphere.js:2898 Using URL: wss://wave.p2pvalue.eu/atmosphere?X-Atmosphere-tracking-id=04a0e694-7d69-41…sphere-Transport=websocket&X-Cache-Date=1433588295384&X-atmo-protocol=true
atmosphere.js:2898 Websocket successfully opened
atmosphere.js:2898 Atmosphere Connection ReOpen
atmosphere.js:2898 Atmosphere Connection Close
atmosphere.js:2898 Websocket reconnect maximum try reached 0
atmosphere.js:2898 Atmosphere Connection Error

Have you seen this error in swellrt?
java.lang.NullPointerException: Null delta application version
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:209)
        at org.waveprotocol.box.server.frontend.WaveViewSubscription.submitResponse(WaveViewSubscription.java:141)
        at org.waveprotocol.box.server.frontend.UserManager.submitResponse(UserManager.java:136)
        at org.waveprotocol.box.server.frontend.ClientFrontendImpl$1.onFailure(ClientFrontendImpl.java:207)
        at org.waveprotocol.box.server.waveserver.WaveServerImpl$3.onFailure(WaveServerImpl.java:372)
        at org.waveprotocol.box.server.waveserver.WaveServerImpl.submitDelta(WaveServerImpl.java:553)
        at org.waveprotocol.box.server.waveserver.WaveServerImpl.submitRequest(WaveServerImpl.java:369)
        at org.waveprotocol.box.server.frontend.ClientFrontendImpl.submitRequest(ClientFrontendImpl.java:194)
        at org.waveprotocol.box.server.frontend.WaveClientRpcImpl.submit(WaveClientRpcImpl.java:166)
        at org.waveprotocol.box.common.comms.WaveClientRpc$ProtocolWaveClientRpc$1.submit(WaveClientRpc.java:11213)
        at org.waveprotocol.box.common.comms.WaveClientRpc$ProtocolWaveClientRpc.callMethod(WaveClientRpc.java:11352)
        at org.waveprotocol.box.server.rpc.ServerRpcControllerImpl.run(ServerRpcControllerImpl.java:202)
        at org.waveprotocol.box.server.executor.RequestScopeExecutor$1.run(RequestScopeExecutor.java:69)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

So I see some issues here..

Nginx closing connections if they are inactive for more than 5 minutes => I am going to set up atmosphere's heartbeat feature to avoid this.

Requests to "http://<IP_ADDRESS>:9898/atmosphere"  cause a timeout. This could be caused by a wrong configuration (server.config) or a bug in the Atmosphere set up of the Wave's server.

I keep investigating...

@atd, that "java.lang.NullPointerException: Null delta application version" is a side-effect of the disfuctional connection between client and server. It doesn't clarify the issue.
I will add log traces of atmosphere in the server

AFAIK is not that Nginx is closing the socket connection. The 504 error has to do with a new HTTP request, which is not answered by SwellRT

I agree, that is 2nd point in the previous answer. Thank you

After last commit, client is not receiving heart beat messages through the Atmosphere WebSocket when testing wave.p2pvalue.eu. However in local env tests, WebSockets frames with whitespaces (heart beat signals) were received. @atd, could the nginx be preventing these heartbeats to reach Web clients?

@pablojan I would check if atmosphere.js is loading in the first place :wink:

Why don't distribute it inside swellrt.js?

atmosphere.js is of course loaded, if not, websockets couldn't work at all. Sorry but I didn't get your point.

Ok, I was checking https://wave.p2pvalue.eu, where atmosphere.js is requested to https://wave.p2pvalue.eu:9898/atmosphere/atmosphere.js and not loaded.
I will check Pear2Pear, where it is loaded

I cannot test it now in local. I get a 403 Forbidden when Pear2Pear tries to log into SwellRT

I guess you are accessing the classic IU (https://wave.p2pvalue.eu/). The atmoshphere.js is not loaded because that URL refers to port 9898, what it is  a wrong configuration of that specific classic IU, please don't get it as a reference to test comms.
Using the swellrt-showcase example you can try the SwelRT API properly. In that case, you can see the WebSocket issue.
I guess we need a face-to-face talk to clarify this issue ;)

Some features has been already added to avoid this issue.
However, Atmosphere server's part is not handling reconnection properly: on reconnect, on the next Wave Protocol's request reaching the server, it should be linked to the previously dropped Wave view connection.


Custom serde_json::Value deserialization?

I'd like to apply a normalization function on the field names when deserializing to serde_json::Value.
let field_normalizer = |name: &str| {
            return name.to_lowercase().replace("#", "_");
};

let value: Value = serde_json::from_str_with_custom_normalizer(r#"{"Field_1": 1, "Field#2": 2}"#, field_normalizer)?;
dbg(&value);

The value displayed by the dbg macro should be:
[main.rs:10] &value = Object({
    "field_2": Number(
        2,
    ),
    "field_1": Number(
        1,
    ),
})

I'm well aware of the possible name collision after normalization but I have a mechanism to deal with that.
How can I implement a such custom generic deserialization without creating a modified copy of a Value?

Please take this question to one of the resources listed in https://github.com/serde-rs/serde/tree/v1.0.135#getting-help. Sorry that no one was able to provide guidance here.


Any update on status for gRPC enhancements for Netflix stack?

Is there an update on adding load balancing & discovery interceptors to gRPC like mentioned at https://github.com/Netflix/ribbon
"We currently contribute to the gRPC code base regularly. To help our teams migrate to a gRPC-based solution in production (and battle-test it), we are also adding load-balancing and discovery interceptors to achieve feature parity with the functionality Ribbon and Eureka provide. The interceptors are Netflix-internal at the moment. When we reach that level of confidence we hope to open-source this new approach. We don’t expect this to happen before Q3 of 2016."

cc @elandau

Is there any update on this? It would be great to see a gRPC (Java) load balancer implementation which uses Eureka for discovery.
I'd strongly imagine there are a large number of projects / developers that are users of Eureka / Ribbon for REST. If the above were to be open sourced it would pave the way for those folks to easily adopt gRPC.

Bump. :)

Hi. To give an update on this, our grpc specific interceptors are still internal at the moment. However, integration with current OSS eureka as a grpc NameResolver can be relatively straight forward and it looks like there has already been some provided by the community. For example,

https://github.com/LogNet/grpc-spring-boot-starter
https://github.com/ExampleDriven/grpc-eureka-java

(Please note that these are not what we use internally so please evaluate with your own needs in mind).


Array is not convertible to 'JSON'

I wanted to parse a array of type MyObject. I have
 func toJSON() -> JSON
into my class, but with an array, I can't do myArray.map { $0.toJSON() }  and then have a JSON with the result... I got this error : "Array is not convertible to 'JSON'"
I test in Swift 1.0 and 1.2
I think, write a JSONable protocol should be good to help to transform user classes into JSON :)
Please can you fix this, or help me to fix ?
Thanks !

You could use the (quite new) array-based initializer: JSON(myArray.map { $0.toJSON() }), which has been added in 28ab56bc653298111f623b1269088355f65a6b8b.
I don't think this can be done with an implicit type conversion in Swift.


Slides Not Swipeable in IE11 on Touch Devices

When draggable is set to false, slick carousels do not change slides when swiped on IE11 on a touch laptop running windows 8.1. Works on other browsers. Simple example here:  http://jsfiddle.net/ho5tm0xa/

It looks like there may be a change needed to support pointer events as IE11 does not use touch events. http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx

It looks like there may be a change needed to support pointer events as IE11 does not use touch events. http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx

I don't have the hardware available to test this. Can someone look into this?

Can anyone add pointerstart pointermove and pointerend to the event bindings and tell me if it works? I'm getting false positives on these emulators.

This is expected behavior


Remove memory leak in Iroha_ProtoSpecificQueryExecutorExecute

Hello!
It is great that you've decided to contribute to Hyperledger Iroha by telling us more about the issue you've encountered!
To report the issue here, please, try to explain it as thoroughly as possible and include Iroha version and logs, if you have any, as well as your environment information: OS, specifications etc.

Incomplete description. Also Iroha v1 is to be deprecated soon.


site TLS certificate is broken

For some reason, the Let's Encrypt config that the site uses on Netlify is throwing an error. We have one week to resolve it before expiration.

We tried to renew the TLS certificate for cnab.io but failed. Your TLS certificate is about to expire on Apr 25, 2019, which will impact your site’s availability. We will continue trying to renew it in the next few days.

Error message:

Acme::Client::Error::ServerInternal: Error retreiving account "https://acme-v02.api.letsencrypt.org/acme/acct/54403714"

Closing this. Error was resolved by Netlify and the cert is back to auto-renewing every two months.


feat: rename to 'olas-pearl-app'

Renaming the repository to olas-pearl-app and have updated only the necessary files.

We won't update entirely in a few places such as build.js & publishOptions.js

please create a draft release, unsure if this will cause issues with notarization/code sign
will dm


Upgrade to pgAdmin 4 6.3

Hello, thanks for putting this together. I've updated the code to support the latest 6.3 release of pgadmin.
Summary of changes:
The additional two apk packages are required to compile pillow.
Cleaned up some whitespacing in your compose file and readme.
Added to and tweaked the README.md for getting started.
Thanks!

Great work, thanks for your update!