Make zeppelin work with CDH5.7.0

What is this PR for?
The downloadable zeppelin install wasn;t working with CDH 5.7.0. I had to change a few things to make it work nicely together.
What type of PR is it?
Bug Fix
Todos
What is the Jira issue?
<EMAIL_ADDRESS>How should this be tested?
Install local cdh5.7.0 (see https://github.com/krisgeus/ansible_local_cdh_hadoop)
build zeppeling (with this patch) with the following options:
mvn clean package -DskipTests -Pspark-1.6 -Phadoop-2.6 -Dspark.version=1.6.0-cdh5.7.0 -Dhadoop.version=2.6.0-cdh5.7.0 -Pvendor-repo
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? Didn't verify
Does this needs documentation? Don't think so

Thanks for sorting this out and contributing a PR.
Do you know if this change specific to CDH 5.7.0 is intentional - do you know if there's a JIRA or if this is in a change list or Cloudera supports talk about this? This seems odd that Apache Spark release 1.6.0 works but Spark 1.6 in CDH 5.7.0 does not (though it has happened before)

Hi Felix,
No i’m not aware this change is specific for CDH5.7.0. I ran into the issue when installing the latest CDH on my laptop and wanted to experiment with zeppelin a bit.
I have seen small differences on other occasions between the apache version of hadoop stuff and CDH.
I know they sometimes add patches to their versions which are coming in future versions of the apache stuff and sometimes need to change things to make it work nicer with their distribution.
If you need my help in any other way feel free to contact me
Cheers Kris

On 04 May 2016, at 06:29, Felix Cheung<EMAIL_ADDRESS>wrote:
Thanks for sorting this out and contributing a PR.
Do you know if this change specific to CDH 5.7.0 is intentional - do you know if there's a JIRA or if this is in a change list or Cloudera supports talk about this? This seems odd that Apache Spark release 1.6.0 works but Spark 1.6 in CDH 5.7.0 does not (though it has happened before)
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-216738516

I'm having a similar issue using CDH 5.7.0 with Zeppelin 0.6.0. This blog link seems to have evidence of some back-porting that was done from Spark 2.0.
https://community.cloudera.com/t5/Advanced-Analytics-Apache-Spark/java-lang-NoSuchMethodException-exception-with-CDH-5-7-0-Apache/m-p/40427
I hope that there's an easy patch to fix this.

Sure - sounds like we should push this PR.

Hi @krisgeus could you separate the change referenced in here so we could merge the fix?

Hi Felix,
I have reverted that specific commit in the PR.
Feel free to go ahead with merging
Cheers Kris

On 13 May 2016, at 00:58, Felix Cheung<EMAIL_ADDRESS>wrote:
Hi @krisgeus https://github.com/krisgeus could you separate the change referenced in here https://github.com/apache/incubator-zeppelin/pull/868/files#r62711339 so we could merge the fix?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-218909358

LGTM

@krisgeus thanks - it looks like tests are failing fairly consistently, but not clear what's going on. Would you have some time to take a look, or run them locally to investigate?
https://s3.amazonaws.com/archive.travis-ci.org/jobs/129069198/log.txt

Thank you @krisgeus for the workaround!

Has this been merged to master ready for a clean build?
Thanks,
Ben

On May 13, 2016, at 3:27 PM, Felix Cheung<EMAIL_ADDRESS>wrote:
@krisgeus https://github.com/krisgeus thanks - it looks like tests are failing fairly consistently, but not clear what's going on. Would you have some time to take a look, or run them locally to investigate?
https://s3.amazonaws.com/archive.travis-ci.org/jobs/129069198/log.txt https://s3.amazonaws.com/archive.travis-ci.org/jobs/129069198/log.txt
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-219174262

I will try to look into the test error in a couple of days.
@H4ml3t Not sure I understand - could you elaborate?

@felixcheung not much to elaborate, I would need zeppelin to work with external Spark installation with cdh5.7 :)
Cheers,
Luca

Does the fix in this PR make it work for your case?

@felixcheung I've made some progress in the testing area. It appears that spark-core-1.6.0-cdh5.7.0 brings in older akka version 2.2.3 instead of the 2.3.11 mentioned as akka.version property in the spark-1.6 profile.
I've temporarily fixed this by adding a exclusion to this profile. Not the way it should end up but a temp solution for me to be able to run more tests successfully.
The diff:
diff --git a/spark-dependencies/pom.xml b/spark-dependencies/pom.xml
index 8e23f22..58af3f0 100644
--- a/spark-dependencies/pom.xml
+++ b/spark-dependencies/pom.xml
@@ -518,6 +518,23 @@

   <dependencies>

   <dependency>

     <groupId>org.apache.spark</groupId>

     <artifactId>spark-core_2.10</artifactId>

     <version>${spark.version}</version>

     <exclusions>

       <exclusion>

         <groupId>org.apache.hadoop</groupId>

         <artifactId>hadoop-client</artifactId>

       </exclusion>

       <exclusion>

         <groupId>org.spark-project.akka</groupId>

         <artifactId>*</artifactId>

       </exclusion>

     </exclusions>

   </dependency>

 </dependencies>

Still a few tests failing but getting closer.
Thought you wanted to know before you start running tests on your end.

Thanks!
CDH is known to have an older Akka and normally we build with the profile -Pvendor-repo to get that to work.

I have the exact same issue with CDH-5.7.0 and Zepplin-0.5.6. Is there a workaround available? Thanks.

@secsubs unfortunately no, it seems to be a breaking API change in CDH-5.7 (also in Spark 2.0)
Let's get Travis tests to pass and merge this ASAP. Thanks!

same problem here, merge it please!!!

ok, with the same code changes everything passes except selenium, which is a known test issue.
https://travis-ci.org/apache/incubator-zeppelin/builds/132738602
merging if no more comment

+1 for merge

Please do…

On May 24, 2016, at 9:29 PM, Felix Cheung<EMAIL_ADDRESS>wrote:
ok, with the same code changes everything passes except selenium, which is a known test issue.
https://travis-ci.org/apache/incubator-zeppelin/builds/132738602 https://travis-ci.org/apache/incubator-zeppelin/builds/132738602
merging if no more comment
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-221470332

Hi all,
I downloaded the latest master clone from github and built it using this command:
mvn clean package -DskipTests -Pspark-1.6 -Phadoop-2.6 -Dspark.version=1.6.0-cdh5.7.0 -Dhadoop.version=2.6.0-cdh5.7.0 -Pvendor-repo
I got this error running the Zeppelin Tutorial example:
java.lang.ClassNotFoundException: org.apache.spark.deploy.yarn.YarnSparkHadoopUtil
So, I rebuilt using this command:
mvn clean package -DskipTests -Pspark-1.6 -Phadoop-2.6 -Dspark.version=1.6.0-cdh5.7.0 -Dhadoop.version=2.6.0-cdh5.7.0 -Pvendor-repo -Pyarn
Now, I get this after a long while:
java.net.ConnectException: Connection refused
Can someone provide some advice on getting this to work with CDH 5.7.0?
Thanks,
Ben

On May 24, 2016, at 9:43 PM, Lee moon soo<EMAIL_ADDRESS>wrote:
+1 for merge
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-221471718

Can you check the log file?

I get this in the Zeppelin log file:
ERROR [2016-06-03 16:49:20,929] ({qtp519821334-82} NotebookServer.java[onMessage]:210) - Can't handle message
java.lang.NullPointerException
at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:128)
at org.apache.zeppelin.socket.NotebookSocket.onWebSocketText(NotebookSocket.java:56)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
INFO [2016-06-03 16:54:20,934] ({qtp519821334-86} NotebookServer.java[onClose]:216) - Closed connection to <IP_ADDRESS> : 56658. (1001) Idle Timeout
ERROR [2016-06-03 17:06:45,825] ({Thread-21} JobProgressPoller.java[run]:54) - Can not get or update progress
org.apache.zeppelin.interpreter.InterpreterException: org.apache.thrift.transport.TTransportException
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getProgress(RemoteInterpreter.java:361)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.getProgress(LazyOpenInterpreter.java:110)
at org.apache.zeppelin.notebook.Paragraph.progress(Paragraph.java:226)
at org.apache.zeppelin.scheduler.JobProgressPoller.run(JobProgressPoller.java:51)
Caused by: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.recv_getProgress(RemoteInterpreterService.java:279)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.getProgress(RemoteInterpreterService.java:264)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getProgress(RemoteInterpreter.java:358)
... 3 more
ERROR [2016-06-03 17:26:57,357] ({Thread-40} JobProgressPoller.java[run]:54) - Can not get or update progress
org.apache.zeppelin.interpreter.InterpreterException: org.apache.thrift.transport.TTransportException
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getProgress(RemoteInterpreter.java:361)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.getProgress(LazyOpenInterpreter.java:110)
at org.apache.zeppelin.notebook.Paragraph.progress(Paragraph.java:226)
at org.apache.zeppelin.scheduler.JobProgressPoller.run(JobProgressPoller.java:51)
Caused by: org.apache.thrift.transport.TTransportException
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.recv_getProgress(RemoteInterpreterService.java:279)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.getProgress(RemoteInterpreterService.java:264)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getProgress(RemoteInterpreter.java:358)
... 3 more
And in the Interpreter for Spark log file:
INFO [2016-06-03 17:26:57,773] ({pool-2-thread-3} SparkInterpreter.java[createSparkContext]:225) - ------ Create new SparkContext yarn-client -------
WARN [2016-06-03 17:26:57,773] ({pool-2-thread-3} SparkInterpreter.java[createSparkContext]:249) - Spark method classServerUri not available due to: [org.apache.spark.repl.SparkILoop$SparkILoopInterpreter.classServerUri()]
WARN [2016-06-03 17:26:57,774] ({pool-2-thread-3} Logging.scala[logWarning]:70) - Another SparkContext is being constructed (or threw an exception in its constructor).  This may indicate an error, since only one SparkContext may be running in this JVM (see SPARK-2243). The other SparkContext was created at:
org.apache.spark.SparkContext.(SparkContext.scala:83)
org.apache.zeppelin.spark.SparkInterpreter.createSparkContext(SparkInterpreter.java:330)
org.apache.zeppelin.spark.SparkInterpreter.getSparkContext(SparkInterpreter.java:118)
org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:499)
org.apache.zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.getProgress(LazyOpenInterpreter.java:109)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer.getProgress(RemoteInterpreterServer.java:408)
org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$getProgress.getResult(RemoteInterpreterService.java:1492)
org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$getProgress.getResult(RemoteInterpreterService.java:1477)
org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
INFO [2016-06-03 17:26:57,775] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Running Spark version 1.6.0
WARN [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logWarning]:70) -
SPARK_CLASSPATH was detected (set to ':/home/zeppelin/incubator-zeppelin/interpreter/spark/dep/:/home/zeppelin/incubator-zeppelin/interpreter/spark/:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/lib/*::/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/classes').
This is deprecated in Spark 1.0+.
Please instead use:

./spark-submit with --driver-class-path to augment the driver classpath
spark.executor.extraClassPath to augment the executor classpath

INFO [2016-06-03 17:26:57,773] ({pool-2-thread-3} SparkInterpreter.java[createSparkContext]:225) - ------ Create new SparkContext yarn-client -------
WARN [2016-06-03 17:26:57,773] ({pool-2-thread-3} SparkInterpreter.java[createSparkContext]:249) - Spark method classServerUri not available due to: [org.apache.spark.repl.SparkILoop$SparkILoopInterpreter.classServerUri()]
WARN [2016-06-03 17:26:57,774] ({pool-2-thread-3} Logging.scala[logWarning]:70) - Another SparkContext is being constructed (or threw an exception in its constructor).  This may indicate an error, since only one SparkContext may be running in this JVM (see SPARK-2243). The other SparkContext was created at:
org.apache.spark.SparkContext.(SparkContext.scala:83)
org.apache.zeppelin.spark.SparkInterpreter.createSparkContext(SparkInterpreter.java:330)
org.apache.zeppelin.spark.SparkInterpreter.getSparkContext(SparkInterpreter.java:118)
org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:499)
org.apache.zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.getProgress(LazyOpenInterpreter.java:109)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer.getProgress(RemoteInterpreterServer.java:408)
org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$getProgress.getResult(RemoteInterpreterService.java:1492)
org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$getProgress.getResult(RemoteInterpreterService.java:1477)
org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
INFO [2016-06-03 17:26:57,775] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Running Spark version 1.6.0
WARN [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logWarning]:70) -
SPARK_CLASSPATH was detected (set to ':/home/zeppelin/incubator-zeppelin/interpreter/spark/dep/:/home/zeppelin/incubator-zeppelin/interpreter/spark/:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/lib/*::/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/classes').
This is deprecated in Spark 1.0+.
Please instead use:

./spark-submit with --driver-class-path to augment the driver classpath
spark.executor.extraClassPath to augment the executor classpath

WARN [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logWarning]:70) - Setting 'spark.executor.extraClassPath' to ':/home/zeppelin/incubator-zeppelin/interpreter/spark/dep/:/home/zeppelin/incubator-zeppelin/interpreter/spark/:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/lib/::/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/classes' as a work-around.
WARN [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logWarning]:70) - Setting 'spark.driver.extraClassPath' to ':/home/zeppelin/incubator-zeppelin/interpreter/spark/dep/:/home/zeppelin/incubator-zeppelin/interpreter/spark/:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/lib/::/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/conf:/home/zeppelin/incubator-zeppelin/zeppelin-interpreter/target/classes' as a work-around.
INFO [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Changing view acls to: zeppelin
INFO [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Changing modify acls to: zeppelin
INFO [2016-06-03 17:26:57,776] ({pool-2-thread-3} Logging.scala[logInfo]:58) - SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(zeppelin); users with modify permissions: Set(zeppelin)
INFO [2016-06-03 17:26:57,784] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Successfully started service 'sparkDriver' on port 51559.
INFO [2016-06-03 17:26:57,843] ({sparkDriverActorSystem-akka.actor.default-dispatcher-2} Slf4jLogger.scala[applyOrElse]:80) - Slf4jLogger started
INFO [2016-06-03 17:26:57,846] ({sparkDriverActorSystem-akka.actor.default-dispatcher-3} Slf4jLogger.scala[apply$mcV$sp]:74) - Starting remoting
INFO [2016-06-03 17:26:57,853] ({sparkDriverActorSystem-akka.actor.default-dispatcher-3} Slf4jLogger.scala[apply$mcV$sp]:74) - Remoting started; listening on addresses :[akka.tcp://sparkDriverActorSystem@<IP_ADDRESS>:34296]
INFO [2016-06-03 17:26:57,853] ({sparkDriverActorSystem-akka.actor.default-dispatcher-3} Slf4jLogger.scala[apply$mcV$sp]:74) - Remoting now listens on addresses: [akka.tcp://sparkDriverActorSystem@<IP_ADDRESS>:34296]
INFO [2016-06-03 17:26:57,854] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Successfully started service 'sparkDriverActorSystem' on port 34296.
INFO [2016-06-03 17:26:57,854] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Registering MapOutputTracker
INFO [2016-06-03 17:26:57,855] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Registering BlockManagerMaster
INFO [2016-06-03 17:26:57,856] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Created local directory at /tmp/blockmgr-7aec5561-fd7c-4023-84cf-5ddd3aef88a4
INFO [2016-06-03 17:26:57,857] ({pool-2-thread-3} Logging.scala[logInfo]:58) - MemoryStore started with capacity 528.1 MB
INFO [2016-06-03 17:26:57,890] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Registering OutputCommitCoordinator
INFO [2016-06-03 17:26:57,897] ({pool-2-thread-3} Server.java[doStart]:272) - jetty-8.y.z-SNAPSHOT
INFO [2016-06-03 17:26:57,902] ({pool-2-thread-3} AbstractConnector.java[doStart]:338) - Started SelectChannelConnector@<IP_ADDRESS>:4040
INFO [2016-06-03 17:26:57,903] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Successfully started service 'SparkUI' on port 4040.
INFO [2016-06-03 17:26:57,904] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Started SparkUI at http://<IP_ADDRESS>:4040
INFO [2016-06-03 17:26:57,924] ({pool-2-thread-3} Logging.scala[logInfo]:58) - Created default pool default, schedulingMode: FIFO, minShare: 0, weight: 1
INFO [2016-06-03 17:26:57,955] ({pool-2-thread-3} RMProxy.java[createRMProxy]:98) - Connecting to ResourceManager at /<IP_ADDRESS>:8032
INFO [2016-06-03 17:26:58,958] ({pool-2-thread-3} Client.java[handleConnectionFailure]:867) - Retrying connect to server: <IP_ADDRESS>/<IP_ADDRESS>:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
INFO [2016-06-03 17:26:59,959] ({pool-2-thread-3} Client.java[handleConnectionFailure]:867) - Retrying connect to server: <IP_ADDRESS>/<IP_ADDRESS>:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
INFO [2016-06-03 17:27:00,961] ({pool-2-thread-3} Client.java[handleConnectionFailure]:867) - Retrying connect to server: <IP_ADDRESS>/<IP_ADDRESS>:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
Hope this helps.
Thanks,
Ben

On Jun 3, 2016, at 10:14 AM, Felix Cheung<EMAIL_ADDRESS>wrote:
Can you check the log file?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-223637827, or mute the thread https://github.com/notifications/unsubscribe/ABxu9MdO4CkE120f89WRXAnowf1Y1yXBks5qIGDvgaJpZM4IS7A7.

I saw that the config file zeppelin-env.sh contents are different than previous versions. It uses “set” instead of “export”. So, I tried to use the old config file from Zeppelin 0.5.6 to see if this would change anything. And, it turns out that Spark Scala code was able to run on YARN. This would mean that the new config file is not being read correctly. Now, I am getting another issue. I cannot run Spark SQL “%sql” queries. This is what I get.
ERROR [2016-06-03 20:18:58,230] ({SparkListenerBus} Logging.scala[logError]:95) - Listener SQLListener threw an exception
java.lang.NullPointerException
at org.apache.spark.sql.execution.ui.SQLListener.onTaskEnd(SQLListener.scala:167)
at org.apache.spark.scheduler.SparkListenerBus$class.onPostEvent(SparkListenerBus.scala:42)
at org.apache.spark.scheduler.LiveListenerBus.onPostEvent(LiveListenerBus.scala:31)
at org.apache.spark.scheduler.LiveListenerBus.onPostEvent(LiveListenerBus.scala:31)
at org.apache.spark.util.ListenerBus$class.postToAll(ListenerBus.scala:55)
at org.apache.spark.util.AsynchronousListenerBus.postToAll(AsynchronousListenerBus.scala:37)
at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(AsynchronousListenerBus.scala:80)
at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(AsynchronousListenerBus.scala:65)
at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(AsynchronousListenerBus.scala:65)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.apache.spark.util.AsynchronousListenerBus$$anon$1$$anonfun$run$1.apply$mcV$sp(AsynchronousListenerBus.scala:64)
at org.apache.spark.util.Utils$.tryOrStopSparkContext(Utils.scala:1181)
at org.apache.spark.util.AsynchronousListenerBus$$anon$1.run(AsynchronousListenerBus.scala:63)
Do you know what this means?
Thanks,
Ben

On Jun 3, 2016, at 10:14 AM, Felix Cheung<EMAIL_ADDRESS>wrote:
Can you check the log file?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/apache/incubator-zeppelin/pull/868#issuecomment-223637827, or mute the thread https://github.com/notifications/unsubscribe/ABxu9MdO4CkE120f89WRXAnowf1Y1yXBks5qIGDvgaJpZM4IS7A7.

@bbuild11 do you have an update and can you share your "-conf" file?
Thank you in advance,
Luca

Hi Luca,
Here are the zeppelin-env.sh file contents. I hope this is what you mean?
export JAVA_HOME=/usr/java/latest
export MASTER=yarn-client
export ZEPPELIN_JAVA_OPTS="-Dspark.yarn.queue=root.bi"
export ZEPPELIN_NOTEBOOK_S3_BUCKET=zeppelin-dps2
export ZEPPELIN_NOTEBOOK_S3_USER=gxetl
export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark
export HADOOP_CONF_DIR=/etc/hadoop/conf
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.9-src.zip:$SPARK_HOME/python/lib/py4j-<IP_ADDRESS>-src.zip
export SPARK_YARN_USER_ENV="PYTHONPATH=$PYTHONPATH"
export ZEPPELIN_NOTEBOOK_STORAGE="org.apache.zeppelin.notebook.repo.S3NotebookRepo, com.nflabs.zeppelinhub.notebook.repo.ZeppelinHubRepo"
export ZEPPELINHUB_API_ADDRESS="https://www.zeppelinhub.com"
export ZEPPELINHUB_API_TOKEN=“"
The zeppelin-site.xml has just S3 settings enabled and set like above.
Thanks,
Ben

On Jun 13, 2016, at 8:52 AM, Luca Menichetti<EMAIL_ADDRESS>wrote:
@bbuild11 https://github.com/bbuild11 do you have an update and can you share your "-conf" file?
Thank you in advance,
Luca
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/apache/zeppelin/pull/868#issuecomment-225623795, or mute the thread https://github.com/notifications/unsubscribe/ABxu9CHBsYeHN6n2CwxTSJLNIvWxGj4xks5qLXzLgaJpZM4IS7A7.

Are folks still having problems with this?

Felix,
I will attempt CDH 5.7.0 again this week. I will try Zeppelin also. If I get any issues, I will let you know.
Thanks,
Ben

On Jun 13, 2016, at 11:05 AM, Felix Cheung<EMAIL_ADDRESS>wrote:
Are folks still having problems with this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/apache/zeppelin/pull/868#issuecomment-225660822, or mute the thread https://github.com/notifications/unsubscribe/ABxu9MTgerppITff4k3RxkYAH5fZlwHjks5qLZvSgaJpZM4IS7A7.

I managed to build successfully against CDH 5.7.0 right after the fix was released. Anyone need any specific artifacts? I am using Spark and Drill interpreters.

@secsubs can you publish a short tutorial on how to build the jar?

@kovalenko-boris I did not deviate from the official build tutorial. Just:
mvn clean package -Pspark-1.6 -Dspark.version=1.6.0 -Dhadoop.version=2.6.0-cdh5.7.0 -Phadoop-2.6 -Pvendor-repo -DskipTests
That said, if there is any specific aspect that you need me to zoom in on then I can look.

That was MapR though, you probably want something like this for CDH:
mvn clean package -DskipTests -Pspark-1.6 -Phadoop-2.6 -Dspark.version=1.6.0-cdh5.7.0 -Dhadoop.version=2.6.0-cdh5.7.0 -Pvendor-repo

Sorry, my bad, this tutorial from Cloudera blog still works:
http://blog.cloudera.com/blog/2015/07/how-to-install-apache-zeppelin-on-cdh/

Felix,
I tried again with the latest. I was able to compile. But, I found that there was a jackson incompatibility. So, I removed the jackson jars from the zeppelin-server/target/lib and zeppelin-zengine/target/lib and replaced them with symlinks to the jackson jars in /opt/cloudera/parcels/CDH/jars to use the CDH 5.7.1 versions. Now, I’m getting this error below.
java.lang.ClassNotFoundException: $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.serializer.JavaDeserializationStream$$anon$1.resolveClass(JavaSerializer.scala:68)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:76)
at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:115)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61)
at org.apache.spark.scheduler.Task.run(Task.scala:89)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Is this happening because we are on jdk1.8.0_60 (Java 8)?
Thanks,
Ben

On Jun 13, 2016, at 11:05 AM, Felix Cheung<EMAIL_ADDRESS>wrote:
Are folks still having problems with this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/apache/zeppelin/pull/868#issuecomment-225660822, or mute the thread https://github.com/notifications/unsubscribe/ABxu9MTgerppITff4k3RxkYAH5fZlwHjks5qLZvSgaJpZM4IS7A7.

To add…
We have Livy server up and running in our cluster. I tried to use it so we could use Spark independent of Zeppelin. In this way, Zeppelin can interface with any version of Spark maintained separately. Unfortunately, the Livy interpreter does not work. This would have solved things too.
Cheers,
Ben

On Jun 13, 2016, at 11:05 AM, Felix Cheung<EMAIL_ADDRESS>wrote:
Are folks still having problems with this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/apache/zeppelin/pull/868#issuecomment-225660822, or mute the thread https://github.com/notifications/unsubscribe/ABxu9MTgerppITff4k3RxkYAH5fZlwHjks5qLZvSgaJpZM4IS7A7.

Hey Ben, are you building Zeppelin with jdk 8 though, I think they have to match your running environment, ideally. I thought we are still having problem with it in the project.
As for Livy, what's the problem you have, you can send email to dev@zeppelin to see someone can help you?

Hi Felix,
All our environments are on jdk 8. We no longer support jdk 7 because Oracle end-of-life’d it. So, we moved to the Cloudera recommended version of jdk 8.
I will submit my livy issue on the other mailing list. Basically, I could not add the livy interpreter because it just doesn’t save.
Thanks,
Ben

On Jun 25, 2016, at 7:18 PM, Felix Cheung<EMAIL_ADDRESS>wrote:
Hey Ben, are you building Zeppelin with jdk 8 though, I think they have to match your running environment, ideally. I thought we are still having problem with it in the project.
As for Livy, what's the problem you have, you can send email to dev@zeppelin to see someone can help you?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/apache/zeppelin/pull/868#issuecomment-228580516, or mute the thread https://github.com/notifications/unsubscribe/ABxu9JoDrBqfPT23EHZR-uxmNk4EjqI5ks5qPeGCgaJpZM4IS7A7.

Felix,
I forgot to add. Zeppelin 0.5.6 seems to work fine with jdk 8. So, I’m thinking that it might be something else specific to CDH 5.7. But, I’m not sure.
Thanks,
Ben

On Jun 25, 2016, at 7:18 PM, Felix Cheung<EMAIL_ADDRESS>wrote:
Hey Ben, are you building Zeppelin with jdk 8 though, I think they have to match your running environment, ideally. I thought we are still having problem with it in the project.
As for Livy, what's the problem you have, you can send email to dev@zeppelin to see someone can help you?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/apache/zeppelin/pull/868#issuecomment-228580516, or mute the thread https://github.com/notifications/unsubscribe/ABxu9JoDrBqfPT23EHZR-uxmNk4EjqI5ks5qPeGCgaJpZM4IS7A7.

From the email discussions seem like you are through with the error above. This "ClassNotFoundException" would seem like some sort of mismatch on the Spark side.
Unfortunately I no longer have a way to test CDH, so I'm hoping someone else could test this out.


add __await__

i guess thats how await works

Since this PR has 3 approvals, why didn't it get merged?

Since this PR has 3 approvals, why didn't it get merged?

I believe James never replied to questions on this:

I approve. Might be worth asking James what he thinks of the real-world example vs the basic one, but other than that the PR looks good.

Since this PR has 3 approvals, why didn't it get merged?

I believe James never replied to questions on this:

I approve. Might be worth asking James what he thinks of the real-world example vs the basic one, but other than that the PR looks good.

I would suggest that this PR gets merged into a separate branch, that will be merged into main once James gives its feedback


Create PathProvider and FilenameProviders that plugin to it

Depends on #209 .
We use UUID filenames at NSLS-II, and we typically use y/m/d w/ some root directory for directory names.

Closed as done by #245 .


Update README.md

Edit my name in the alphabetical order

Well done @sylvia-boyani for making your first contribution 👏🏽

Thank you so much for the great news!
On Sun, Oct 8, 2023, 2:16 PM Olumide Micheal @.***>
wrote:

Well done @sylvia-boyani https://github.com/sylvia-boyani for making
your first contribution 👏🏽
—
Reply to this email directly, view it on GitHub
https://github.com/wagtail/outreachy/pull/52#issuecomment-1752001528,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUQF2NN5YJ6H25AMH43RBCDX6KDSDAVCNFSM6AAAAAA5WTWGTCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJSGAYDCNJSHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


4x or 8x interpolation?

Thanks for sharing this great work!
Does interpolate_yuv.py only allow for a 2x interpolation?   How can I do a 4x or 8x interpolation?

Thanks for the response!


fix: invalid url when OPEN_API_BASE_URL is empty

closes #553

closing this since this has been added in this commit https://github.com/polywrap/evo.ninja/pull/548/commits/3d08bcd197d3d5ad7a82efa16e863540294d9edb


Question on expiration values

Motivation
I looked around (albeit briefly) to try find the difference between these two values (StaleContentExpiration and DefaultExpiration)
    services.AddDeliveryClientCache(new DeliveryCacheOptions()
        {
            StaleContentExpiration = TimeSpan.FromSeconds(2),
            DefaultExpiration = TimeSpan.FromMinutes(24)
        });

Could you explain the difference between the two and how they interact with each other?
Maybe put in documentation somewhere (or point me to where it is defined).
Proposed solution
Just looking for clarification in documentation somewhere.

hi @xantari .
StaleContentExpiration relates to my explanation of stale content here. basically, it only makes sense to cache stale content for a few seconds
DefaultExpiration is used for the rest
I made a note in #202, we'll address it somewhere in the docs and let you know.

I'm closing the issue now. If you have any additional questions, please feel free to reopen it.

added to the docs here: https://github.com/Kentico/kontent-delivery-sdk-net/wiki/Caching-responses


Modifier -> SwiftUI -> View groupings: controlGroupStyle

Doc: https://developer.apple.com/documentation/swiftui/view/controlgroupstyle(_:)

[ ] Swift implementation
[ ] Elixir implementation

According to the @supernintendo @carson-katri @shadowfacts we won't support this


Retina agent crashing on Windows nodes

Describe the bug
https://github.com/microsoft/retina/pull/686 added removing memory lock on the main thread. This is not supported for Windows.
To Reproduce
Deploy v0.0.16 on Windows node.

https://github.com/microsoft/retina/pull/789/files


Reset Settings

Korean Client 0.2.2 Launcher
Chinese Client 0.5.2 Launcher
Running a Korean client will reset the Chinese client settings, and running a Chinese client will reset the Korean client settings.
Does anyone know how to solve this?

Oh, this is a Launcher problem, not a cso2-master-server wrong issue.


MALFORMED_RESPONSE_CHUNK with the Accept-Encoding: [gzip] does not send the required HTTP 200 first.

WireMocker version 2.25.1
Starting up WireMock programmatically for integration tests. (Used to mockout a OAuth2 Resource Server endpoint)

I haven't yet created a sample project to reproduce, but the problem seems pretty simple.
I have a stub that is supposed to result in a MALFORMED_RESPONSE_CHUNK. When I hit that stub with a request that has Accept-Encoding: gzip, the HTTP 200 response isn't sent.
When I send the same request without the Accept-Encoding header, I properly get the HTTP 200 and then garbage data after.
Some debugging has led me into Jetty specifically here:
https://github.com/eclipse/jetty.project/blob/4be1e63bc11d1f63ff035018158383fad8d46055/jetty-server/src/main/java/org/eclipse/jetty/server/handler/gzip/GzipHttpOutputInterceptor.java#L125-L131
So it looks like the first HTTP 200 sent using flushBuffer is dropped on the floor instead of being sent over since nothing is in the buffer.
gzip:152, GzipHttpOutputInterceptor (wiremock.org.eclipse.jetty.server.handler.gzip)
commit:246, GzipHttpOutputInterceptor (wiremock.org.eclipse.jetty.server.handler.gzip)
write:108, GzipHttpOutputInterceptor (wiremock.org.eclipse.jetty.server.handler.gzip)
write:250, HttpOutput (wiremock.org.eclipse.jetty.server)
write:226, HttpOutput (wiremock.org.eclipse.jetty.server)
flush:408, HttpOutput (wiremock.org.eclipse.jetty.server)
flushBuffer:1039, Response (wiremock.org.eclipse.jetty.server)
malformedResponseChunk:70, JettyFaultInjector (com.github.tomakehurst.wiremock.jetty9)
...
run:834, Thread (java.lang)

Thanks for reporting this.
Does this also happen with the latest WireMock version?

Just quickly bumped my project to 2.30.1 and it looks like I still only see the garbage data getting read.


Remove AutomationSpecHelper::sanitize_miq_ae_fields

Last callers removed in 32fd75faef4e0cbc66402f8e2599215e601524a5
Looks like XML tests were deprecated and removed in adf60c5290169f8e07388363c51f6550bd1caa11

@miq-bot add_labels automate, technical debt
r? @gmcculloug

👍


lens: Change lens' listed license from MIT to their own proprietary license

Although Lens is based on a free core component ("OpenLens"), the tarballs provided by Mirantis include a proprietary version of Lens that requires a subscription.
As the proprietary option offers additional features, it would not be wise to simply rewrite the derivation and base it on the FOSS source code. Instead, implementing a new derivation for OpenLens is likely the better approach.
Description of changes

The license listed for the lens derivation has been changed from MIT to Mirantis' own proprietary one in order to reflect the license of the tarball being used.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

CC maintainers: @dbirks @RossComputerGuy

@alyssais I fixed the conflict, thanks for the review!

In future, please rebase, rather than merging into your branch.
Also, jsyk, the email address on the commit is not linked to your GitHub account.

I’ll keep that in mind next time, thanks for the feedback!


Is it possible to use a custom lexer?

I have a transition table driven lexer similar to that described in the "Dragon Book". I need to use it with chevrotain parser instead of the built in lexer. Are there any examples showing how to implement a custom lexer?

Do you want an example of integrating an existing Lexer or one in which you implement a full
Lexer from scratch?

This converts an Acorn token vector into a Chevrotain Token Vector.

At a minimum a Chevrotain Token is just three properties.

image (string)
startOffset (number)
tokenType (number)

Only the last one (tokenType) is special as that number is  generated
on the token class once it is created. Which means you cannot
directly serialize/de-serialize tokens as that number may change in different processes.
So to create a Chevrotain token all you need to do is:
// in section defining the tokens
const IntegerLiteral = chevrotain.createToken({name:"IntegerLiteral"})

// inside code of your lexer once it lexed an integer Literal

return {image: "666", offset: 102, type: IntegerLiteral.tokenType}

Thanks! That helps.

Great 😄

@bd82 Is it okay to have image: null ?
I have quite some shadow Tokens like LINE_BEGIN, LINE_END, INDENT_BEGIN, INDENT_END.

@akonsu I wouldn't recommend using null, but an empty string '' should work just fine.


fix: Select, before and after, inherit borderRadius

Description
Select had slight visible border-radii when hovered, because pseudo elements applying layers of background-color didn't have border-radius aligned with parent.
Apply border-radius: 'inherit' on both ::before and ::after inside SelectWrapper
I show before/after with different colors to make it more visible. Note both ::before and ::after require the radius because they are layered one of top of the other.
Before

After

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Improve error messages

When starting acmed like this:
acmed -f --log-stderr --log-level debug

...I get the following error:
Error: IO error: Permission denied (os error 13)

I'm sure I'll find out what the reason is, but the error message could be improved, to say where the permission fails. Is it the PID file? The accounts directory? Something else?

Been almost 2 years and it's still the case:
[2022-05-07T02:24:02Z INFO  acmed::config] /etc/acmed/acmed.toml: loading configuration file
[2022-05-07T02:24:02Z INFO  acmed::config] /etc/acmed/default_hooks.toml: loading configuration file
[2022-05-07T02:24:02Z INFO  acmed::config] /etc/acmed/letsencrypt.toml: loading configuration file
[2022-05-07T02:24:02Z ERROR acmed] IO error: Permission denied (os error 13)

Had to actually strace the process to see what it fails on...

I just added the missing file path in all error messages I could find. I'll keep this issue open since I think log messages can still be improved, so feel free to report anything missing so I can look into it.

mkdir("/var/lib/acmed/accounts", 0777)  = -1 ENOENT (No such file or directory)
mkdir("/var/lib/acmed", 0777)           = -1 EROFS (Read-only file system)
statx(AT_FDCWD, "/var/lib/acmed", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7fff036340a0) = -1 ENOENT (No such file or directory)
[2024-12-30T15:19:16Z ERROR acmed] IO error: Read-only file system (os error 30)

found another one


target: mbedos5: Add carriage return in jerry_port_console

Serial monitors (like screen on macOS / Linux) expect both CR and LF characters for new lines. Due to jerryscript only printing a line feed after calls to print() this makes log messages look wrong. This patch adds a CR when it encounters a LF character in jerry_port_console or jerry_port_log for the mbedos5 target.
JerryScript-DCO-1.0-Signed-off-by: Jan Jongboom<EMAIL_ADDRESS>Fix for #1426

Any plans to fix the style issues?

@zherczeg Done!

Thank you!
LGTM


Longevity & system freeze with Ubuntu 16

Hi,
I'm facing a rather perplexing problem with this script. After some period of time (hours), my Ubuntu 16 - desktop flavor VM will completely freeze. This means that it doesn't send or respond to network activity and the console is frozen. I am forced to reset the VM. I checked of the various logs in /var/log but there wasn't anything of interest in there. The usual googling/fixes suggested for Ubuntu freezes (such as editing grub) didn't help. Has anyone else encountered this issue or have thoughts on where to look?
FWIW, this is a really 'clean' install of Ubuntu 16. I grabbed the latest ISO, built a VM, installed the required packages to run this script, and that's about it.

All python and phantomjs upgraded to latest stable releases?
Pulled latest commit?
Successfully run the SSCCE?
Not running in debug mode?The debug output is voluminous and will fill up available buffers and caches. That shouldn't crash a box, emphasis on "should," but stuff happens.

Why yes, I am running in debug mode.  I thought it might be helpful.   I’ll try running it without the -g switch.
I see there was a new commit posted just the other day so I’ll take that in one as well.
Thanks!
From: Steve Smith<EMAIL_ADDRESS>Sent: Tuesday, May 2, 2017 6:26 PM
To: essandess/isp-data-pollution<EMAIL_ADDRESS>Cc: randrews01<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [essandess/isp-data-pollution] Longevity & system freeze with Ubuntu 16 (#26)

All python and phantomjs upgraded to latest stable releases?
Pulled latest commit?
Successfully run the SSCCE<../wiki/Python:-Short,-Self-Contained,-Correct-Example>?
Not running in debug mode?The debug output is voluminous and will fill up available buffers and caches. That shouldn't crash a box, emphasis on "should," but stuff happens.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://clicktime.symantec.com/a/1/kDEl-BF91opp1RhWmr8hv00KrQ84uBZNjVnAGeeTLTk=?d=z0V8j6627gsnr9yR_gIKtoGOThmpgXUzRW1Bly3310BQaJ_2KcE44tUr5Z4WVtvcJJanCXybwrs0_fBAQggPPnKcimPXCSEXtJ9GznqfB4t8-GZTCkdXiREDybW1bayXWn66Zin6LMLGl49oeWAag_SsGUC-K7tz8UM6U1Cu59vTyUXCJnyXxSHySnnWZLyODFeMFmmuEaSMFNN4AoGvRW4jjkcDWLaru5dA9JYhGcyNhLvY-swF1P2LayPPvxa5IJZdgrJXYLOM1igQu_NIkxK8mOqNzD-RS4xILMqVlrMByPxDAZYpxIhybdg6J9KpI9AtQwh_IurfwwH4eo4s3-Nv5MLU50YI_8d-oqwQdh9DDpnu6rMVAX35nmFd31fGsRI1WT0_M-CCfUXcWLyfyBub5NmWMDDTYUvu-b29HVEskEL4bZIPovc6oSTzTO6_YjkfyqRMgjSgYQ%3D%3D&u=https%3A%2F%2Fgithub.com%2Fessandess%2Fisp-data-pollution%2Fissues%2F26%23issuecomment-298788906, or mute the threadhttps://clicktime.symantec.com/a/1/zGSjzZw3AX-dfa1yiXGn86e50I7yuUDYIjllo9zBJ7E=?d=z0V8j6627gsnr9yR_gIKtoGOThmpgXUzRW1Bly3310BQaJ_2KcE44tUr5Z4WVtvcJJanCXybwrs0_fBAQggPPnKcimPXCSEXtJ9GznqfB4t8-GZTCkdXiREDybW1bayXWn66Zin6LMLGl49oeWAag_SsGUC-K7tz8UM6U1Cu59vTyUXCJnyXxSHySnnWZLyODFeMFmmuEaSMFNN4AoGvRW4jjkcDWLaru5dA9JYhGcyNhLvY-swF1P2LayPPvxa5IJZdgrJXYLOM1igQu_NIkxK8mOqNzD-RS4xILMqVlrMByPxDAZYpxIhybdg6J9KpI9AtQwh_IurfwwH4eo4s3-Nv5MLU50YI_8d-oqwQdh9DDpnu6rMVAX35nmFd31fGsRI1WT0_M-CCfUXcWLyfyBub5NmWMDDTYUvu-b29HVEskEL4bZIPovc6oSTzTO6_YjkfyqRMgjSgYQ%3D%3D&u=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAF07N7v2icvWc4t6aiEKoRJTYMt03zVUks5r17uAgaJpZM4NOQPc.

Hi,
I pulled latest commit, made sure every apt-get is updated, ran the SSCCE (output below), but the system still freezes after hours of usage.
rob@rob-virtual-machine:~$ python3 test.py
phantomjs version is 2.1.1, ghostdriver version is 1.2.0
http://books.google.com/ngrams/graph?year_start=1800&year_end=2008&corpus=15&smoothing=7&case_insensitive=on&content=fubar
http://fubar.com/
https://en.wikipedia.org/wiki/List_of_military_slang_terms
https://en.wikipedia.org/wiki/FUBAR_(disambiguation)
http://www.urbandictionary.com/define.php?term=fubar
https://en.wiktionary.org/wiki/FUBAR
http://whatis.techtarget.com/definition/FUBAR
http://www.dictionary.com/browse/fubar
https://play.google.com/store/apps/details?id=com.fubar.mobile&hl=en
https://www.merriam-webster.com/dictionary/fubar
https://myspace.com/fubar

Perhaps a memory consumption issue.
I coded the script to shutdown and restart phantomjs if its footprint grows larger than a gigabyte.
Would a 1 GB process cripple your VM?
I'll add a command line argument to set this maximum memory usage as a parameter. Please watch for the next commit.

I have plenty of memory available. I added another 8GB to the VM last week hoping it would make a difference.  Thanks for the update.

Try
python isp_data_pollution.py -mm 256

Or to relaunch phantomjs for every GET:
python isp_data_pollution.py -mm 0

I tried with -mm 0; still freezing after hours of usage.

Okay, thanks. I've wrapped all the calls to phantomjs methods with timeouts that should return control to the script if phantomjs hangs—emphasis on should.
I'm not seeing this myself. Would you please go back to debug mode and post the last few lines where the hang occurs to determine which method might be the culprit? Perhaps do this a few times to see if the problem is consistent.
Hopefully that would point the way to a fix or at least where more verbose out is required.

Here is a screenshot from the time it froze:

Would you please add a debug -g to the call to help isolate the block where this occurs.
Also, if you know how, call ps for the phantomjs process and report its state (R == running, zombie, etc.).

Hi,
I can't issue a ps because the entire system is frozen.  Here is a screen capture from the moment it froze (about 30 minutes ago).

Here's another one where I ran watch for phantomjs and python3.

Here is the latest freeze:

Thanks—that's very helpful. I hadn't seen one of those exceptions before.
I'm going to go puzzle over this and install the script on my own VM and see if I see the same issue, and search to see if others have had issues with phantomjs crashing their box.
I have a speculation-based request: would you please comment out the os.nice command and see if this resolves the issue? That shouldn't matter, but I can imagine timing issues with two asynchrounous processes way down in the priority queue.

Another candidate area is inadequate garbage collection after opening and closing jillions of phantomjs driver objects. I'll look into whether my code or selenium's has this issue.

I'm testing with that commented out.  Will report back.  Thanks!

Commenting out os.nice hasn't helped.  Latest freeze:

Thanks for trying. I'll start looking into possible garbage collection issues and try to replicate on my own VM.

This phantomjs issue is relevant, and comments are consistent with the macOS versus Ubuntu differences.
https://github.com/ariya/phantomjs/issues/14028

Maybe I missed it, but that's discussing a freeze of phantjoms itself and not entire system freeze?   It's possible they are related.

The OS has an issue if a hanging process brings it down.
I'm just cross-referencing relevant phantomjs issues looking for a solution. This issue is also potentially relevant:
https://github.com/ariya/phantomjs/issues/13210

Interesting comment here:  https://github.com/ariya/phantomjs/issues/14972

Interesting comment here: ariya/phantomjs#14972

This issue is covered with the -mm 0 setting, which restarts phantomjs for each GET.
Also, I checked a couple of the url's you show during a freeze above, and do not see anything unusual about those pages. For example, this links has only 35 elements and loads just fine:
url = 'https://www.foolfunds.com/contact/?source=ifufungb0010006'

I'm investigating the garbage collection possibility.
You're just seeing a single phantomjs instance running at any time, correct?
For reference, here's a command that will show the process status of all running phantomjs processes:
for pid in `ps -ef | grep phantomjs | grep -v grep | gawk '{print $2}' | tr '\n' ' '`; do ps -O pid,%cpu,rss,state,nice,time -p $pid; done

See https://github.com/ariya/phantomjs/issues/14990.

Having posted this I see that my own error handler is the culprit in the stack overflow, which could also cause a system freeze if Python's max recursion depth exceeds system resources.
I believe that I've isolated and fixed this issue.
Please pull the latest and let me know what happens.
And thanks for pushing on this thread.

I appreciate your wiliness to help fix this :)
I took the last commit but alas, still hit a freeze:

Thanks for trying. Throwing rocks at the code is the only way to make it bulletproof, to mix metaphors.
Please try this before we throw this over the fence to PhantomJS.

Download and install the latest binary from phantomjs.org. Delete whatever apt-get version you're using, or make sure your path is set up so that you're using the phantomjs.org binary.
Upgrade everything: OS, Python, everything.
Pull the latest.
Run in debug mode and hope we catch the failing block or phantomjs call.
Perhaps do this on a non-headless box to confirm, and actually watch what's going on.

1 - that's how I installed
2 - already done
3 - pulled todays commit and am testing with that now
4 - that's turned on
5 - I'm running the desktop version of Ubuntu so I can watch what's going on

Did this work for you?
I've been running smoothly for over a week now. Here are a couple bash commands to check the process status of both the phantomjs process(es) and the parent python script process:
for pid in `ps -ef | grep phantomjs | grep -v grep | gawk '{print $2}' | tr '\n' ' '`; do ps -O ppid,%cpu,rss,state,nice,time -p $pid; done
ps -O ppid,%cpu,rss,state,nice,start -p `ps -ef | grep phantomjs | grep -v grep | tail -1 | awk '{print $3}'`

I grabbed the latest commit.  It lasted about an hour before it froze.

I've tested on a CentOS VM and it's solid there.
I believe this a some combination of phantomjs running with the OS and stack on your box.
Would you please initiate an issue for this at https://github.com/ariya/phantomjs/issues/?

Confirming I have over 12 hours of up time on CentOS.   There is just something broken with Ubuntu.

Great. Thanks again for your time and comments. Though we weren't able to address the Ubuntu issue, thinking about it helped to point out and address other robustness issues, so it was definitely effort well spent.


Bugfix for IE scrollX/scrollY

Replaces scrollX and scrollY with cross browser aliases pageXOffset and pageYOffset
Fixes IE issues with ripple and the time picker
#628

Great! Thanks!


Backports 0.16 pr2

builds and tests pass locally

cherry-picked, can squash once review is done I'd say

@codablock can you review?

Looks good IMO 👍  (cherry-picked commits match the ones in my branch and I have no additional suggestions atm)

@PastaPastaPasta can you rebase and remove bitcoin#7609 instead of doing the revert at the end?

Removed and squashed.... Somehow #10303 (backported already) got into the branch so I had to force push again to remove it


SWIFT_VERSION '3.0' is unsupported, supported version are: 4.0, 4.2, 5.0. (in target 'Flash Chat') for Xcode 10.2.1

Already I'm tried with given solutions on this site for this problems. and it's not working with the updated Xcode version. that's why, I want a proper solution for this problem. So please help me out.

Did you solved it?

Same issue here!

no hope

Try the latest version, should be working


Fix settings path

When introducing Devnet, the expected name file for the settings changed - from Development.toml to Devnet.toml.
This change was not cascaded in this plugin, which leads the LSP to confusion when it comes to resolve contracts.

:tada: This PR is included in version 0.5.2-develop.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 0.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Cancel reset modal fixes

It was possible to complete reset on an account, and have one device that was sleeping all that time and missed all the notifications about device being revoked. This would have caused the modal to keep showing up, and the cancel button to do nothing - it was erroring out, but the error was not displayed anywhere.

Add error banner to cancel reset modal.
Change CancelReset RPC to call mctx.LogoutAndDeprovisionIfRevoked if API call fails, to check if maybe it failed because we are already reset (or revoked or similar).

If so, return a special error to propagate that info as a banner to login screen.

TODO:

[x] go test
[x] remove the manual testing code

cc @keybase/y2ksquad @keybase/react-hackers


crash using concurrency multiprocessing

Originally reported by Lorenzo Boffelli (Bitbucket: lboff, GitHub: lboff)

Hello,
I am using pytest with pytest-cov and coverage.
I wrote some tests where I run a process (multiprocessing.Process)
The process uses gunicorn and start three worker.
the test call a API server by one of the three worker.

If I do not add the option concurrency=multiprocessing I get always the same coverage. I think only the process startup is measured but the code executed after the process receive the API request is not reported as executed.

If I add the concurrency=multiprocessing it seems the code executed after the process receive the API request is reported as executed but coverage crash like reported below.

I can not add here the code at the moment but I can eventually exec other tests you could suggest and try to troubleshoot together
Thanks Lorenzo
Traceback (most recent call last):
  File ".tox/dev/bin/py.test", line 11, in <module>
    sys.exit(main())
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/config.py", line 49, in main
    return config.hook.pytest_cmdline_main(config=config)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
    return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
    _MultiCall(methods, kwargs, hook.spec_opts).execute()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
    res = hook_impl.function(*args)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/main.py", line 119, in pytest_cmdline_main
    return wrap_session(config, _main)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/main.py", line 114, in wrap_session
    exitstatus=session.exitstatus)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
    return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
    _MultiCall(methods, kwargs, hook.spec_opts).execute()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 595, in execute
    return _wrapped_call(hook_impl.function(*args), self.execute)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 249, in _wrapped_call
    wrap_controller.send(call_outcome)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/terminal.py", line 363, in pytest_sessionfinish
    outcome.get_result()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 279, in get_result
    _reraise(*ex)  # noqa
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 264, in __init__
    self.result = func()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
    res = hook_impl.function(*args)
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/pytest_cov/plugin.py", line 160, in pytest_sessionfinish
    self.cov_controller.finish()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/pytest_cov/engine.py", line 141, in finish
    self.cov.stop()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/coverage/control.py", line 692, in stop
    self.collector.stop()
  File "/home/vnapi/vnapi/.tox/dev/local/lib/python2.7/site-packages/coverage/collector.py", line 277, in stop
  **  "Expected current collector to be %r, but it's %r" % (self, self._collectors[-1])
_pytest.assertion.reinterpret.AssertionError: Expected current collector to be <Collector at 0x7fc71b219a90: CTracer>, but it's <Collector at 0x7fc712037650: CTracer>**

Bitbucket: https://bitbucket.org/ned/coveragepy/issue/488

Our project Habitat-API is also affected by the same issue, no solution found yet.

@mathfac Can you give me a way to reproduce the issue?

@nedbat, thank you for the question. Issue was that we had the unit test (link) that was testing jupyter noebook using nbval plugin and gc.collect() was called in the end:
        pytest.main(
            [
                "--nbval-lax",
                "notebooks/relative_camera_views_transform_and_warping_demo.ipynb",
            ]
        )

        # NB: Force a gc collect run as it can take a little bit for
        # the cleanup to happen after the notebook and we get
        # a double context crash!
        gc.collect()

I didn't debug further, as the test was already deprecated, I deleted it and the issue was fixed.

Got similar issue when doing multiprocessing unittest.
python3.8, pytest version 7.3.2, coverage version 7.2.7
│ /opt/conda/lib/python3.8/site-packages/coverage/cmdline.py:866 in do_run                         │
│                                                                                │
│    863 │   │   │   code_ran = False                                                              │
│    864 │   │   │   raise                                                                         │
│    865 │   │   finally:                                                                          │
│ ❱  866 │   │   │   self.coverage.stop()                                                          │
│    867 │   │   │   if code_ran:                                                                  │
│    868 │   │   │   │   self.coverage.save()                                                      │
│    869                                                                                │
│                                                                                │
│ /opt/conda/lib/python3.8/site-packages/coverage/control.py:649 in stop                           │
│                                                                                │
│    646 │   │   │   │   self._instances.pop()                                                     │
│    647 │   │   if self._started:                                                                 │
│    648 │   │   │   assert self._collector is not None                                            │
│ ❱  649 │   │   │   self._collector.stop()                                                        │
│    650 │   │   self._started = False                                                             │
│    651 │                                                                                │
│    652 │   def _atexit(self, event: str = "atexit") -> None:                                     │
│                                                                                │
│ /opt/conda/lib/python3.8/site-packages/coverage/collector.py:373 in stop                         │
│                                                                                │
│   370 │   │   │   print("self._collectors:")                                                     │
│   371 │   │   │   for c in self._collectors:                                                     │
│   372 │   │   │   │   print(f"  {c!r}\n{c.origin}")                                              │
│ ❱ 373 │   │   assert self._collectors[-1] is self, (                                             │
│   374 │   │   │   f"Expected current collector to be {self!r}, but it's {self._collectors[-1]!   │
│   375 │   │   )                                                                                │
│   376                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
AssertionError: Expected current collector to be <Collector at 0x7f87b2616c10: CTracer>, but it's <Collector at 0x7f87b1c4e8e0: CTracer>

I'm seeing this problem too with Python 3.11.4, pytest 7.4.0, and coverage 7.3.0 ("with C extension").  I was able to boil it down to a simple case, testGoo.py.
import os

if "COVERAGE_PROCESS_START" in os.environ:
    import coverage
    coverage.process_startup()

def testGoo() -> None:
    assert True

I'm using a conda environment but don't think it matters.  So I execute it this way,
% rm -rf .coverage
% COVERAGE_PROCESS_START=.coveragerc conda run -n 2.0 coverage run -m pytest testGoo.py

The test passes, obviously, but outputs assertion failures as reported here and elsewhere online.
self._collectors:
  <Collector at 0x7f6927afd990: CTracer>
                      <module> : /ms/foss/anaconda/envs/2.0/bin/coverage:11
                          main : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py:973
                  command_line : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py:684
                        do_run : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py:858
                         start : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/control.py:631
               _init_for_start : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/control.py:531
                      __init__ : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/collector.py:136
  <Collector at 0x7f6922020e50: CTracer>
                      <module> : /ms/foss/anaconda/envs/2.0/bin/coverage:11
                          main : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py:973
                  command_line : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py:684
                        do_run : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py:861
                           run : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/execfile.py:211
                      <module> : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pytest/__main__.py:5
                  console_main : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/config/__init__.py:189
                          main : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/config/__init__.py:166
                      __call__ : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_hooks.py:433
                     _hookexec : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_manager.py:112
                    _multicall : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_callers.py:80
           pytest_cmdline_main : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/main.py:317
                  wrap_session : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/main.py:270
                         _main : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/main.py:323
                      __call__ : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_hooks.py:433
                     _hookexec : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_manager.py:112
                    _multicall : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_callers.py:80
             pytest_collection : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/main.py:334
               perform_collect : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/main.py:669
                      genitems : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/main.py:836
              collect_one_node : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/runner.py:547
                      __call__ : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_hooks.py:433
                     _hookexec : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_manager.py:112
                    _multicall : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pluggy/_callers.py:80
    pytest_make_collect_report : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/runner.py:372
                     from_call : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/runner.py:341
                      <lambda> : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/runner.py:372
                       collect : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/python.py:531
  _inject_setup_module_fixture : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/python.py:545
                           obj : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/python.py:310
                       _getobj : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/python.py:528
             _importtestmodule : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/python.py:617
                   import_path : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/pathlib.py:565
                 import_module : /ms/foss/anaconda/envs/2.0/lib/python3.11/importlib/__init__.py:126
                   _gcd_import : <frozen importlib._bootstrap>:1204
                _find_and_load : <frozen importlib._bootstrap>:1176
       _find_and_load_unlocked : <frozen importlib._bootstrap>:1147
                _load_unlocked : <frozen importlib._bootstrap>:690
                   exec_module : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:178
                      <module> : /home/me/goo/testGoo.py:4
               process_startup : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/control.py:1397
                         start : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/control.py:631
               _init_for_start : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/control.py:531
                      __init__ : /ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/collector.py:136

Traceback (most recent call last):
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py", line 861, in do_run
    runner.run()
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/execfile.py", line 211, in run
    exec(code, main_mod.__dict__)
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/pytest/__main__.py", line 5, in <module>
    raise SystemExit(pytest.console_main())
SystemExit: 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/ms/foss/anaconda/envs/2.0/bin/coverage", line 11, in <module>
    sys.exit(main())
             ^^^^^^
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py", line 973, in main
    status = CoverageScript().command_line(argv)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py", line 684, in command_line
    return self.do_run(options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/cmdline.py", line 866, in do_run
    self.coverage.stop()
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/control.py", line 659, in stop
    self._collector.stop()
  File "/ms/foss/anaconda/envs/2.0/lib/python3.11/site-packages/coverage/collector.py", line 373, in stop
    assert self._collectors[-1] is self, (
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Expected current collector to be <Collector at 0x7f6927afd990: CTracer>, but it's <Collector at 0x7f6922020e50: CTracer>

ERROR conda.cli.main_run:execute(49): `conda run coverage run -m pytest testGoo.py` failed. (See above for error)

So the test calls coverage.process_start() in a pytest process already being run by the coverage script.  My understanding of the docs is that this is unnecessary but harmless.  Removing that call eliminates the failures.  Simplified to this level obscures why I'm calling the function at all.  The call is actually in a separate module meant to be imported by apps that use my library to ensure other tests that fork those programs measure their coverage too.  I'm importing it in a test, equivalent to the above, to test other aspects of that module.  In case it helps, here's my .coveragerc.
[run]
concurrency=multiprocessing

I hope this helps solve it.  Thanks for supporting this useful and important package.


[OTX] Add SupCon recipes for multilabel and hierarchical classification

This PR completes PR #102 by adding support for multilabel and hierarchical classification using SupCon.

Closing as of https://github.com/openvinotoolkit/training_extensions/pull/1517


Some notes about the slides and movies

Just a PR to share my thoughts and work. Probably shouldn't be merged now, for readability purposes (it's easier to comment here)

• you want to keep working on this and refine this or add more content in the next few days?
• you are solliciting comments and want discussion before we can merge it?

Both, I would say :).

OK, I'm finished doing a pass on these notes, and I am now working on other things (slides).
@ogrisel , @glemaitre : some comments on the proposed changes?

Merging. Please comment later.


samples: task_wdt: Increase min watchdog timeout

MCUX watchdog timer supports min window of 500ms. Increase maximum task
watchdog timeout window to 500ms by default, so that this sample can run
on iMX RT SOCs. Also update iMX RT watchdog driver to reject timeout
maximums under 500ms with a useful error message
Fixes #40153
Signed-off-by: Daniel DeGrasse<EMAIL_ADDRESS>

Look good to me, verified on mimxrt1050_evk.


Allow auto_discover_sidekiq config

@dudo thanks for the contribution!
It’s not clear to me what this env var does, it doesn’t appear in the source code for `cronitor-sidekiq. Would you add a description and maybe link to some docs?

Hello, @jeffbyrnes! https://github.com/cronitorio/cronitor-sidekiq/pull/25/files
Will update the readme accordingly.


id conflict in lazy loading

Hello! I used jsTree in project. I have a code to create root
    $json = [];

     if ($request->get('id') == '#') {

        $json = [
            array(
                'id' => 2,
                'parent' => '#',
                'text' => mb_convert_encoding('A', 'UTF-8'),
            ),
            array(
                'id' => 3,
                'parent' => '#',
                'text' => mb_convert_encoding('B', 'UTF-8'),
            ),
            array(
                'id' => 4,
                'parent' => '#',
                'text' => mb_convert_encoding('C', 'UTF-8'),
            ),
            array(
                'id' => 5,
                'parent' => '#',
                'text' => mb_convert_encoding('D', 'UTF-8'),
            ),
            array(
                'id' => 7,
                'parent' => '#',
                'text' => mb_convert_encoding('E', 'UTF-8'),
            ),
        ];

        $rows = DB::select("SELECT [id], [shortname], [process_type], [pid] FROM [db].[record] WHERE [active] = 1 AND [pid] IS NULL");

        foreach ($rows as $row) {
            $arr = array(
                'id' => intval($row['id']),
                'parent' => intval($row['process_type']),
                'text' => mb_convert_encoding($row['shortname'], 'UTF-8'),
                'children' => true,
            );
            array_push($json, $arr);
        }
    }

`
The root is created based on the process type. And then lazy loading is based on a parent-child relationship.
I get next line using lazy loading:
[{"id":3,"parent":91,"text":"somebody once told me","children":true}]
From this point on, I get a conflict between IDs of root and lazy loading: the root with the text 'B' is removed.
Is it possible to create and redraw a new node at the place of the click and not from the root?

Use unique IDs.


Legacy release download address for MacOS

Description

Open the following URL, and click All RELEASE botton.
Page URL: https://qgis.org/en/site/forusers/download.html
The download URL for OS X in Previous releases of QGIS are still available here - including older releases for OS X here is:
https://qgis.org/downloads/macOS/
It contain QIGS version from 2.14 to 3.8. However, https://qgis.org/downloads/macos/ contains more recent versions of QGIS.
So I suggest that we should merge these two or change link address in Previous releases of QGIS are still available here - including older releases for OS X here.

See also #463 for Windows releases

So is this a feature?

I think what happened here is that, after a long time of releasing the Mac package on my website, I made it available directly at QGIS.org in the macOS folder (that's why there are only a couple years of releases there).  Then I passed the "official" build to Petric as an all-in-one package and he created a new folder with all lower case, macos.
So, the dual folder setup just happened.  It may be a good idea to move the older packages into the current folder as a subfolder.  I don't think there any internal links that will break, but there may be external links to these old packages.  I do keep a full archive of my old packages on my site.

Thanks! Since it has been fixed in #997, I now close this issue.


typo fix - added full stop

@thrubovc : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks @thrubovc.


Transition bug on iPhoneX

When you try to close the sideMenu by swiping it from right to left, the size of the screenshot changes oddly and at the end of the transition the space at the top that is between the statusBar and the toolBar is gone.
Thank you :)

Getting the same issue

It's fixed in version 2.3

I am still facing that issue. any help please?

YES me too , I am facing this issue not only with iPhone X even the rest!
Any solution ?

Transition issue is still there.


Do not load es6-promise in Chrome where Promises are avaliable

In polyfill.js is a check weather the polyfill needs to be applied:
var P = local.Promise;
if (P && Object.prototype.toString.call(P.resolve()) === '[object Promise]' && !P.cast) {
  return;
}

local.Promise = Promise;

In Chrome
Object.prototype.toString.call(window.Promise.resolve())
Returns "[object Object]" and therefor the check fails.

This is a duplicate. TL;DR chromes promises have some gnarly bugs, I have submitted fixes to v8 itself to address them. And i believe they are working to resolve the last few.


Remove the last line in /R/phyloseq_beta.R

Error in source("https://raw.githubusercontent.com/fconstancias/DivComAnalyses/master/R/phyloseq_beta.R") :
https://raw.githubusercontent.com/fconstancias/DivComAnalyses/master/R/phyloseq_beta.R:3732:1: unexpected '}'
3731: }
3732: }

I was working on implementing NTI bNTI metrics (e.g., https://www.pnas.org/action/downloadSupplement?doi=10.1073%2Fpnas.1414261112&file=pnas.201414261SI.pdf). Thanks @vincentvendius. It should be fixed now.


fix: Fix concurrency issues with metrics

Fixes: https://github.com/argoproj/argo/issues/3391

Back-ported to 2.9.2


Consider setting up a security policy

Is your feature request related to a problem? Please describe.
Define how users should report security vulnerabilities for this repository via a SECURITY.md file
(If applicable)If your feature request solves a bug please provide a link to the community issue

Describe the solution you'd like
Use the github feature

Describe alternatives you've considered

Additional context

Existing solutions

Resolved in #241


Add repository with PhillipsHue Tap Dialv2 driver

Manually added to HubitatCommunity repo - this repo is "retired"


padrino g mailer cant_handle_hyphens

In 0.10.5, having a hyphen in the mailer name causes the following to happen:
$ padrino g mailer agent_mailer
      create  app/mailers/agent_.rb
      create  app/views/mailers/agent_

Thanks for reporting this, we will fix this in an upcoming version


Support in ROS2

The 4th ROS2 distribution is go out in May.
Can you also support ROS2?

This is indeed on our roadmap, we are currently investigating the possibility to support ROS2 in Webots.
Of course, any help is welcome.

Just for the note, there are progresses with the support of ROS2 on universal robot side: https://github.com/ros-industrial/ur_modern_driver/issues/244#issuecomment-503068616
And people complaining that meshes are looking bad in gazebo: https://github.com/ros-industrial/universal_robot/issues/425
:wink:

Just for the note, we are progressing on this front on this repo: https://github.com/cyberbotics/webots_ros2

I believe we can close this issue as it is currently in active development in https://github.com/cyberbotics/webots_ros2


User's can't add / create new issues

It looks like the Bug Report config isn't complete. There is no way for users to add information - like there isn't any way to type at all. Tbh i thought it was going to have a giant text-area like  a standard MR, but we're utilizing an Issue Form template, so we'll have to abide by the rules for that.
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
https://github.com/9mbs/calendar-widgets/blob/main/.github/ISSUE_TEMPLATE/bug.yml

Resolved, atleast we can add bug reports now lol


[ssr-client] Expose public API for 3rd-party hydration alternatives

Should this be an RFC?

[X] This is not a substantial change

Which package is this a feature request for?
SSR (@lit-labs/ssr)
Description
In order to foster experimentation and external contributions, it would be great if the @labs/ssr-client package exposed a public API for interacting with lit-html hydration mechanics. Due to the clever and effective minification/mangling of internal properties and methods, it is not currently possible to augment hydrate() logic to support alternative server rendered output, lazy-hydration strategies, multiple hydration roots in the same container, or automatic recovery from hydration errors (to name a few potential features).
I believe it would be relatively easy to implement a public interface over the hidden internal properties, methods, and constructors needed to perform hydration. This API would be optional, should not increase overall package size, or impact the minification strategy in any way:
import { Part, TemplateResult } from 'lit-html';
import { AttributePart } from 'lit-html/directive.js';
import { _$LH } from 'lit-html/private-ssr-support.js';

type ChildPart = InstanceType<typeof _$LH.ChildPart>;
type ElementPart = _$LH.ElementPart;
type resolveDirective = _$LH.resolveDirective;
type TemplateInstance = InstanceType<typeof _$LH.TemplateInstance>;

export { ChildPart, ElementPart, resolveDirective, TemplateInstance };
export declare function getPartCommittedValue(part: Part): unknown;
export declare function setPartCommittedValue(part: Part, value: unknown): void;
export declare function templateInstanceAddPart(
  instance: InstanceType<TemplateInstance>,
  part: Part,
): void;
export declare function getTemplateInstanceTemplatePart(
  instance: InstanceType<TemplateInstance>,
  index: number,
): Part | undefined;
export declare function setAttributePartValue(
  part: AttributePart,
  value: unknown,
  index: number,
  noCommit: boolean,
): void;
export declare function getChildPartTemplate(value: TemplateResult): any;
export declare function setChildPartEndNode(
  part: InstanceType<ChildPart>,
  marker: Comment,
): void;

I would of course be willing to open a PR if there is interest/support in exploring the idea.
Alternatives and Workarounds
The only viable alternative at the moment is to vendor all lit packages, expose the unminified development versions, and operate against the unmangled internal property names.

At this point in time, I don't think we can commit to the shape of these APIs staying stable. If you're interested in sending a PR to expose them from @lit-labs/ssr-client package, including tests, I think we'd be interested in that, provided that it's clear that this will be a less stable portion of the API.
We're definitely interested in support for the features you mention. Lazy hydration, multiple hydration roots in the same container, or automatic recovery from hydration errors, these are all on our road map, would you be interested in working on them within our SSR packages?
We'd also eventually like to have a stable format to the HTML such that other systems could render lit hydratable content on the server, beyond only @lit-labs/ssr, so I think there's rich area for collaboration here!

@rictic thanks for sharing your thoughts on future features. I will take a look at a PR for this specific issue, then see what can be done about the others.


Post likes and choosing best answer?

Hello,
I've been thinking seriously using this script to create a Q&A website but I want to know if you guys are planning to add post liking and choosing best answer in a topic ability to carbon forum soon or later? Also it'd be really great if users can follow or ignore any tags they want and create their own front-page like reddit. Thank you :+1:

I'll add post liking in the later version.
Other features will not be added to uncertainty.


Add docker prune --all at the beginning of docker based test execution

Resolves https://github.com/AdoptOpenJDK/openjdk-tests/issues/686
Signed-off-by: Mesbah Alam<EMAIL_ADDRESS>

Tail of the docker prune output:
10:52:53      [exec] deleted: sha256:e843589b7eab2c99f01c7c36603e79cd582ec77e923801fc5477e676ca99f937
10:52:53      [exec] deleted: sha256:32fe28af8b933473d4fc8e0fdff4f53a3dd878e777d2d0f4e069eafec89dec24
10:52:53      [exec] deleted: sha256:c78abc0d85ace0d885a620a4fd6af7f3d4700efe13499996128e15e970703762
10:52:53      [exec] deleted: sha256:0a42ee6ceccb1b90de2a3badec7c74cc452ce61e7ef20a80bb7f20ea53f2825e
10:52:53      [exec]
10:52:53      [exec] Total reclaimed space: 51.79GB
10:52:53

https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/424/consoleFull


docs(accordion): add api docs

Add api docs for the accordion and panel components

LGTM, just left 2 remarks.

Merging this as per comments


Network Id should be 0

NetworkId should be 0 or is there a specific reason to have it the same as ChainId?

Clients no longer support network IDs less than 1. Also, 0 was the network ID of the Olympic testnet. I don't see any reason to reuse it.
Setting network ID = chain ID has been a common practice to avoid confusion between networks and IDs.


StacAssetRasterSource and StacRepositories Improvements

GeoTrellis Server at this moment retrieves metadata from the STAC Item assets. In addition to that GeoTrellis server can't make use of the STAC API Layer extension endpoints.
This task is to refactor StacAssetRasterSources and to make them utilse STACItems metadata as much as it is possible.
There is also an opportunity for the GeoTrellis server to make use of the STAC STAC API Layer extension endpoints. And instead of traversing through all STAC Items that belong to the layer and manually computing the Layer Summary GT Server should be able to use it. This can be implemented as some sort of the STACLayerRasterSource that would work very similar to the MosaicRasterSource but the source of the metadata would be recieved from the STACLayer JSON (if it is possible).
To conclude, this task can be splited into the following tasks:

StacAssetRasterSources improvements to use STACItem metadata as much as it is possible. What should such items include? CRS, Extent, Information about layers? This task is to clean up the RasterSource and to generate an example of the perfect STAC Item. In case some metadata is missing StacAssetRasterSource should be able to read it from the STACAsset.

StacLayerRasterSource implementation with can be built on top of the MosaicRasterSource but with its metadata populated from the StacLayer endpoint.  This is a working name, this task also includes investigation of what needs to be done and investigation of the ideal metadata response. This RasterSource should be able to work in case there is not StacLayer metadata or this metadata is partially missing.

With this feature GeoTrellis Server no longer needs STAC Layer supported time range specified in it's configuration.

These changes should also be reflected in the STACRepositories? Taking into account that semantics can be changed some of the Repositories interfaces may be changed. (this is techincally is a part of tasks 1 and 2)

It is addressed, Layer Extension improvements can be a part of a separate Epic.


Add Dockerfile, docker-compose.yml and some info

I think it would be nice to have these files on the repo too! Thanks for the example.

Hey @theodorosploumis!
These files look great, thank you for opening this PR!
Part of me says that a big portion of the tutorial is actually creating those files and getting familiar with the syntax...
The other part says that people need a reference solution for when their file isn't working and they don't know why...
Perhaps we can get the best of both worlds? What are your thoughts on creating a directory called solution and moving these files there?

Or maybe create a separated branch with the solutions included.

The branch would probably be cleaner but might be harder to find.
If we included a solutions directory, we would probably need to include a .dockerignore file as well.

Most of the examples of that type (git repos) have separated branches and a declaration on the readme about using other branches. Users are to lean docker they know how to use Github. Also, if we use another folder we need to copy again all the files inside the folder.

Also, if there is no complete setup users will not be able to propose changes, improvements (like mine) and reuse/extend the code to their needs.

This landed in the solutions branch of this repo. Instructions were added to the readme directing users to that branch.
Thanks for the contribution!


Revert bump core-js from 3.4.2 to 3.6.4

Reverts oacore/dashboard#110

Let's wait for node upgrade and if it does not help you can merge this.

Node upgrade does not work. We should downgrade core-js


Add gitDiff

which returns the diff of the working copy to HEAD

I find it really useful to be able to see the gurrent git diff and hope you'll consider adding it to your excellent package.


Controller should display warning if registry is not installed on source or destination

When a user creates a migplan which includes imagestreams which point to internal registry images we should display a warning condition if the destination or source cluster's internal registry is misconfigured or not installed.
This would help warn a user and provide an explanation if the FinalRestore fails due to a missing registry. As of today this only pops up in the Velero logs with a nondescript error message.

"When a user creates a migplan which includes imagestreams which point to internal registry images"
Implementation detail here, but we should determine whether we want to just check for the existence of the registry in the controller (which will warn in more cases, since we'd still warn even if there are no internal images and the missing registry is intentional), or whether we want to duplicate the "does this imagestream include an internal image?" logic from the plugins into the controller (in addition to the "find the internal registry URL" logic) and iterate over all in-namespaces imagestreams or not. If we do the imagestream iteration, then we could probably limit the warning to cases where the migration would actually fail, but it's a lot more parsing and processing required.

@sseago @dymurray is this going into 1.2.1 or should I re-assign to 1.3.0?


tasty-thead, how to change column title in tasty-thead

Dear all,
I want to change thead
[start] scope.resource.header = [{"key": "date","name": "Date"},{"key": "id", "name": "ID"}]
And I have function reloadData(), and change header
[end] scope.resource.header = [{"key": "month","name": "Month"},{"key": "id", "name": "ID"}]
I've used bind-reload="reloadData", scope.resource.header have been changed, but on Table view didn' t changed.
Please help me,  how to change column title in tasty-thead
Thanks,
Minh Tuan

Hi @tuannnm46,
I think you just discover a bug!
Here https://github.com/Zizzamia/ng-tasty/blob/master/template/table/head.html#L5 as you can read we use bind-once for all the header data.
So I will take care of this and think a possible solution to disable the bind-once in this case!

Hi @Zizzamia,
I'm a newbie.
Thanks you very much.
Thanks,
Minh Tuan.

https://twitter.com/Zizzamia/status/610623132831887360


Preview command uses OS' native files opener

Uses https://github.com/rdp/os
Closes #101

Perhaps also this?
diff --git a/lib/apiary/command/preview.rb b/lib/apiary/command/preview.rb
index 276ac23..12ad82f 100644
--- a/lib/apiary/command/preview.rb
+++ b/lib/apiary/command/preview.rb
@@ -132,7 +132,7 @@ module Apiary
       private

       def browser_options
-        "-a<EMAIL_ADDRESS>if @options.browser
+        "-a<EMAIL_ADDRESS>if @options.browser && OS.x?
       end
     end
   end

The "-a browsername" for is definitely OSX-specific.
xdg-open (Linux) doesn't seem to provide anything meaningful for browser_options.
I don't know about start (Windows).

I am not sure it's needed. The function open_generated_page results to xdg-open /tmp/apiary-preview.html on my Linux and works properly. I guess it depends on the options settings. Maybe someone could give it a try on windows?

But if you use "--browser" on Linux, xdg-open is unhappy:
> bin/apiary preview --browser=chrome --path=$HOME/identityservicesapis.apib
xdg-open: unexpected option '-a'
Try 'xdg-open --help' for more information.

Maybe use launchy gem can be better. This gem is used in  heroku open command.

I think exception for browser in OSX is good way.

But if you use "--browser" on Linux, xdg-open is unhappy:

Oh, sorry, I get it now. I've added your changes.
I am not sure how I should fix the test. I may delete the option in README, but that's not very nice and it will fail on mac. Any ideas?

README is hard, yes. FWIW, I'd rather annotate the options in README "OS X Only", suppress both behavior and --help output, and delete the test (as being no longer portable), than delete the behavior just to make a test case we know how to write :(

Why is the open or xdg-open command necessary? Can't the CLI just output a link to a local index file, and trust the developer to copy and paste that into their browser? Might be labor-intensive but at least it would work on Linux.

@MaxPleaner : does xdg-open not work for you on Linux? It does for me ... but there are so many Linuces ...

@jrep yeah it is installed, which i didnt realize when i wrote the first comment. still, the reason i'm commenting on this issue is because i had the same issue.

Well, the original impetus was to make the docs match the behavior. Chopping a feature out just because it's hard to document seems a bit regressive ;-).
Speaking as one who uses the tool, uses the docs, has been inconvenienced by the mismatch, and is willing to put in the labor to fix it all, I'm willing to give it more thought before abandoning the effort entirely.
I am, however, tempted to take a low-ball approach, such as merely annotating certain lines with platform-support indications like "OS X and Linux only".


New version: FLANN v1.0.0

Registering package: FLANN
Repository: https://github.com/wildart/FLANN.jl
Created by: @wildart
Version: v1.0.0
Commit: 67a6cf129fe13c3de927b29e4e96e9ee554d9a06
Reviewed by: @wildart
Reference: https://github.com/wildart/FLANN.jl/issues/19

Consider enabling TagBot to make sure the release is persistent in your repo. See this discourse announcement for more info. Once you've enabled TagBot, you can post TagBot tag here to trigger it.