text:
Compile Vb expressions using Roslyn

The only interesting code is in HostedCompiler.cs I'm guessing the relevant tests are closed source.

First of all, thank you!
This allows the direct strings "Hello World" embedded in the XAML to be correctly output to console.
Expressions such as [MyVar] as a Variable or an Argument are not covered yet. The tests do not capture correctly that failure. I think it's related to the ConvertFromString(string text, ITypeDescriptorContext context) in ActivityFromResultConverter. I must admit I don't know what about VisualBasicValue and VisualBasicReference we need to add back in to WF to make it work.
Amazing start!

You are a wizard! This is amazing 💯 !
HelloWorldConsole : CodeActivity doesn't seem to work correctly to get the input argument, but maybe it's wrong code from me in the test.

After a check, additional testing like [MyInput + 10] - Direct math , [MyInput + DateTime.Now.Month] - Static object with property and [myInput+CINT(DateTime.Now().GetTypeCode())] - conversions with function calls all work in the XAML.
@dmetzgar If you are ok with the code submitted, I think this should be merged. We might need to see if we can find additional tests / checks to ensure the code works.

@lbargaoanu this is great! By relevant tests being closed source, are you referring to the original tests we had in the .NET Framework? I just haven't finished porting them to run in this test framework.

Yes, that's what I meant. If we can get them, I can try converting them. If they're in the repo somewhere, I didn't see find them.

authors: dmetzgar ewinnington lbargaoanu

repo: dmetzgar/corewf


text:
master fails to build

https://travis-ci.org/dmfs/ContentPal/builds/288547748

contentpal:compileDebugUnitTestJavaWithJavac/home/travis/build/dmfs/ContentPal/contentpal/src/test/java/org/dmfs/android/contentpal/rowsets/DelegatingRowSetTest.java:21: error: package org.dmfs.android.contentpal.testing.answers does not exist

import org.dmfs.android.contentpal.testing.answers.FailAnswer;

                                                  ^

/home/travis/build/dmfs/ContentPal/contentpal/src/test/java/org/dmfs/android/contentpal/rowsets/DelegatingRowSetTest.java:41: error: cannot find symbol

        RowSet<Object> mockRowSet = mock(RowSet.class, new FailAnswer());

                                                           ^

  symbol:   class FailAnswer

  location: class DelegatingRowSetTest

/home/travis/build/dmfs/ContentPal/contentpal/src/test/java/org/dmfs/android/contentpal/rowsets/DelegatingRowSetTest.java:42: error: cannot find symbol

        ClosableIterator dummyIterator = mock(ClosableIterator.class, new FailAnswer());

                                                                          ^

  symbol:   class FailAnswer

  location: class DelegatingRowSetTest

Note: Some input files use unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

3 errors

 FAILED

That was caused by another PR which wasn't based on the same branch. We probably should rerun CI before merging if we merged other PR in the meantime.

source: gharchive/issue

repo: dmfs/ContentPal

license_type: permissive

license_source: github-api


text:
Extended Undo

At present we only allow undoing very few actions. The majority of all actions is irrevocable (at least as far as it concerns the OpenTasks UI). This Epic will introduce an Undo option for more operations. It should be possible to undo pretty much every operation which modified the database.
The basic idea is to use OpenTasksPal when working with the provider. Every time an operation is created and committed a matching "undo operation" is created and stored in a stack (along with a label that describes the operation). That is, when committing an Operation which sets a task to completed, another operation is created which restores status and percent complete and wipes the completed date.
Executing the undo operations from the top of the stack will restore the previous database state.
The undo stack is limited to a specific number of entries and will be cleared whenever the app is closed. So it doesn't need to be persisted.
If an action can not be undone (like when deleting a local list) the undo stack is cleared.
Handling of async changes from other apps (like sync apps) still needs to be defined. I.e. how can we prevent an "undelete" of a task if the list it belongs to has just been deleted by the sync adapter?

Will this include undoing the deletion or re-ordering of subtasks? As this is my main issue with OT.
I had numerous occasions, where I got into trouble because I had forgotten to to something, because some time before, I accidentially tapped on the delete button for a subtask while trying to re-order subtasks, or where I accidentially re-ordered subtasks while scolling, and didn't know which order they had been and should have been in.

The check list has been reworked recently. At least the delete case should be less likely now.
I probably won't implement an undo for every single change, instead I would just present an undo option when you leave the details view and all the changes are saved.

Please do NOT delete the undo list on closing the app.
Many phones by default close all unused apps, unless they are set to be allowed. So even an interruption like a phone call, or an IM message with a big memory usage can kill the undo list. And nobody will change their energy settings to allow the app, as it always comes with a big warning that you will have worse battery life, even if not true.
It should persist in any case. Like after a reboot.

Also, it's better to let the user set a number of days instead of a fixed amount, because unless granularity is large, this will quickly fill up the list. It barely takes any memory anyway. And granularity should be small. What is the point if I cannot undo the text changes on a single subtask without undoing a dozen other subtask changes that I did not expect to be undone and cannot remember and don't want to re-type either. Especially when there is no redo. (Please make sure, the undo action is itself an action that can also be undone. Aka redo.)
Thank you very much.

At least the delete case should be less likely now.

In theory, yes. :)
In practice, the list jumps around below my finger so much, that I already triggered the deletion twice. Single tap deletions without undo really feel more like a hostile booby trap than a friendly UI.
How about making it a swipe action? Like, hold on the delete button, and swipe to the right (where there is empty space currently.)
For context: The jumping around mainly comes from two sources:

When editing a subtask, and then checking a checkbox of another subtask, it often automatically scrolls back to the first subtask, instead of defocusing it.
When moving a subtask in a list where some subtasks have multiple lines, the moved subtask is often placed in the wrong position, like halfway on top of another one. And that, combined with any slight accidential finger lifting, that turns a subtask into an edited one, or if another subtask is already in edit mode, makes it very easy to tap the wrong place.
(If it isn't already, that shouls be seprate bugs. This here is just for context.)

authors: dmfs navid-zamani

repo: dmfs/opentasks


text:
Add license information for this project?

While looking into improving the documentation for my work team's fork of this project, I looked for a license statement in this repository so that I could include that information in our fork, and I couldn't find license information here. I'd like to provide a note in our fork about the open source license of this work (and our team's modifications) so that other people can feel fully welcome to reuse/adapt our fork if they like.
@dmikusa-pivotal, as the main author, would you consider adding a note to this readme (or a license file) to indicate the license you'd like this to be under?
Thank you!

Sorry for not adding that sooner.  Done.

Yay, thank you very much!

authors: brittag dmikusa-pivotal

repo: dmikusa-pivotal/cf-ex-wordpress


text:
Использование $content

Довольно интересная сетка, прямо сейчас её использую.
Однако я столкнулся с проблемой
lg-block($content)
----@media screen and (max-width: $break_lg)
---------{$content}
Как в аргумент $content вставить несколько селекторов? Перепробовал все возможные варианты, в итоге получаю сообщение о синтаксических ошибках. Использую препроцессор Stylus.

В этой версии только переписать сгенерированный смартгридом файлик под stylus {block}

Внедрил синтаксис
+lg_block()
code
в сетку 2.1

https://github.com/dmitry-lavrik/smart-grid/releases/tag/v.2.1.1

authors: dmitry-lavrik g-rodigy mafreelancer

repo: dmitry-lavrik/smart-grid

license: MIT


text:
Considering adding exclude_from_weight_decay or specified decay parameter list to bertadam(or other related optimizers)?

Description
For bert-style model training, usually we will need to use weight decay. But we may not want to include some parameters to weight decay, e.g. layernorm.
For example, in BERT, they have a argument exclude_from_weight_decay. In the current tensorflow, they implement a DecoupledWeightDecayExtension class to inherit from and specified it as decay_var_list.
I did not see if we have such a choice, do you guys think it is necessary do add it?
References

list reference and related literature
list known implementations

weight decay multiplier is set via the gluon parameter API: https://github.com/dmlc/gluon-nlp/blob/master/scripts/bert/finetune_squad.py#L375-L377 is this not sufficient?

Great, thank you!

authors: eric-haibin-lin zburning

repo: dmlc/gluon-nlp


text:
Fix Bert Tutorial regressions

Description
A file was deleted by accdient in the Bert Tutorial PR
Checklist
Essentials

[X] Changes are complete (i.e. I finished coding on this PR)
[X] All changes have test coverage
[X] Code is well-documented

Changes

[X] Fix Bert Tutorial regressions

Comments
@eric-haibin-lin

Job PR-448/1 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-448/1/index.html

No worries

source: gharchive/pull-request

authors: leezu mli


text:
Write CNN program with C++

I'm trying to write a CNN program with C++,according to mlp.cpp,It can compile ,but when I run my CNN program .there were always  errors at
mxnet::Executor* exe =
			mxnet::Executor::Bind(sym_out, ctx_dev, g2c, in_args, arg_grad_store,
			grad_req_type,aux_states);

The error information is
0x00007FFC0EFD1F08 处(位于 MxnetTestApp.exe 中)有未经处理的异常: Microsoft C++ 异常: dmlc::Error，位于内存位置 0x000000F2EA8FDD18 处。

Here is my program
#include <iostream>
#include <utility>
#include <map>
#include <string>
#include <vector>

#include "mxnet/ndarray.h"
#include "mxnet/base.h"
#include "mxnet/operator.h"
#include "mxnet/symbolic.h"

using namespace std;

#if MSHADOW_USE_CUDA
#define DEV_CTX \
  (mxnet::Context::Create(mxnet::Context::kGPU, 0))  // use no.0 gpu
#else
#define DEV_CTX (mxnet::Context::Create(mxnet::Context::kCPU, 0))  // use cpu
#endif

class CNN {
public:
	mxnet::Symbol ConvolutionLayer(mxnet::Symbol input, std::string kernel = "(5,5)",
		std::string stride = "(1,1)", std::string num_filter = "4", std::string name = "conv") {
		mxnet::OperatorProperty* convolution_op =
			mxnet::OperatorProperty::Create("Convolution");
		std::vector<std::pair<std::string, std::string> > conv_config;
		conv_config.push_back(std::make_pair("kernel", kernel));
		conv_config.push_back(std::make_pair("stride", stride));
		conv_config.push_back(std::make_pair("num_filter", num_filter));
		convolution_op->Init(conv_config);

		std::vector<mxnet::Symbol> sym_vec;
		sym_vec.push_back(input);
		mxnet::Symbol conv = mxnet::Symbol::Create(convolution_op)(sym_vec, name);

		return conv;
	}

	mxnet::Symbol BatchNormLayer(mxnet::Symbol input, std::string name = "batch") {
		mxnet::OperatorProperty* batchnorm_op =
			mxnet::OperatorProperty::Create("BatchNorm");
		std::vector<std::pair<std::string, std::string> > config;
		batchnorm_op->Init(config);
		std::vector<mxnet::Symbol> sym_vec;
		sym_vec.push_back(input);
		mxnet::Symbol batch= mxnet::Symbol::Create(batchnorm_op)(sym_vec, name);

		return batch;
	}
	mxnet::Symbol ActivationLayer(mxnet::Symbol input, std::string act_type = "relu",
std::string name = "act") {
		mxnet::OperatorProperty* activation_op =
			mxnet::OperatorProperty::Create("Activation");
		std::vector<std::pair<std::string, std::string> > act_config;
		act_config.push_back(std::make_pair("act_type", act_type));
		activation_op->Init(act_config);
		std::vector<mxnet::Symbol> sym_vec;
		sym_vec.push_back(input);
		mxnet::Symbol act = mxnet::Symbol::Create(activation_op)(sym_vec, name);

		return act;
	}
	mxnet::Symbol PoolingLayer(mxnet::Symbol input, std::string pool_type = "max",
		std::string kernel = "(2,2)",std::string stride = "(2,2)",
		std::string name = "pool_max") {
		mxnet::OperatorProperty* pooling_op =
			mxnet::OperatorProperty::Create("Pooling");

		std::vector<std::pair<std::string, std::string> > pool_config;
		pool_config.push_back(
			std::make_pair("pool_type", pool_type));
		pool_config.push_back(std::make_pair("kernel", kernel));
		pool_config.push_back(std::make_pair("stride", stride));
		pool_config.push_back(std::make_pair("pad", "(1,1)"));
		pooling_op->Init(pool_config);
		std::vector<mxnet::Symbol> sym_vec;

		sym_vec.push_back(input);
		mxnet::Symbol pool_max =
			mxnet::Symbol::Create(pooling_op)(sym_vec, name);
		return pool_max;
	}

	mxnet::Symbol FlattenLayer(mxnet::Symbol input, std::string name = "flatten") {
		mxnet::OperatorProperty* flatten_op =
			mxnet::OperatorProperty::Create("Flatten");
		std::vector<std::pair<std::string, std::string> > fla_config;
		flatten_op->Init(fla_config);

		std::vector<mxnet::Symbol> sym_vec;
		sym_vec.push_back(input);
		mxnet::Symbol fla = mxnet::Symbol::Create(flatten_op)(sym_vec, name);

		return fla;
	}
	mxnet::Symbol SoftmaxLayer(mxnet::Symbol input,
		std::string name = "softmax") {
		mxnet::OperatorProperty* softmax_output_op =
			mxnet::OperatorProperty::Create("SoftmaxOutput");

		std::vector<std::pair<std::string, std::string> > config;
		softmax_output_op->Init(config);

		std::vector<mxnet::Symbol> sym_vec;
		sym_vec.push_back(input);
		mxnet::Symbol softmax =
			mxnet::Symbol::Create(softmax_output_op)(sym_vec, name);

		return softmax;
	}
	mxnet::Symbol FullyConnectedLayer(mxnet::Symbol input,
		std::string num_hidden = "2",
		std::string name = "fc") {
		mxnet::OperatorProperty* fully_connected_op =
			mxnet::OperatorProperty::Create("FullyConnected");

		std::vector<std::pair<std::string, std::string> > fc_config;
		fc_config.push_back(std::make_pair("num_hidden", num_hidden));
		fc_config.push_back(std::make_pair("no_bias", "false"));
		fully_connected_op->Init(fc_config);

		std::vector<mxnet::Symbol> sym_vec;
		sym_vec.push_back(input);
		mxnet::Symbol fc = mxnet::Symbol::Create(fully_connected_op)(sym_vec, name);

		return fc;
	}

	void Train() {
		// setup sym network
		mxnet::Symbol sym_x = mxnet::Symbol::CreateVariable("X");
		mxnet::Symbol sym_conv1 = ConvolutionLayer(sym_x,"(5,5)","(1,1)","4","conv1");
		mxnet::Symbol sym_bn1 = BatchNormLayer(sym_conv1, "bn1");
		mxnet::Symbol sym_act1 = ActivationLayer(sym_bn1, "relu", "act1");
		mxnet::Symbol sym_mp1 = PoolingLayer(sym_act1,"max","(2,2)","(2,2)", "mp1");

		mxnet::Symbol sym_conv2 = ConvolutionLayer(sym_mp1, "(5,5)", "(1,1)", "4", "conv2");
		mxnet::Symbol sym_bn2 = BatchNormLayer(sym_conv2, "bn2");
		mxnet::Symbol sym_act2 = ActivationLayer(sym_bn2, "relu", "act2");
		mxnet::Symbol sym_mp2 = PoolingLayer(sym_act2, "max", "(2,2)", "(2,2)", "mp2");

		mxnet::Symbol sym_f1 = FlattenLayer(sym_mp2, "f1");
		mxnet::Symbol sym_fc1 = FullyConnectedLayer(sym_f1,"2", "fc1");
		mxnet::Symbol sym_out = SoftmaxLayer(sym_fc1, "softmax");

		// prepare train data
		mxnet::Context ctx_cpu = mxnet::Context::Create(mxnet::Context::kCPU, 1);
		mxnet::Context ctx_dev = DEV_CTX;  // use gpu if possible

		mxnet::NDArray array_x(mshadow::Shape4(1,1,128, 128), ctx_dev, false);
		mxnet::NDArray array_y(mshadow::Shape1(1), ctx_dev, false);

		mxnet::real_t* aptr_x = new mxnet::real_t[128 * 128];
		mxnet::real_t* aptr_y = new mxnet::real_t[1];

		// we make the data by hand, in 10 classes, with some pattern
		for (int i = 0; i < 128; i++) {
			for (int j = 0; j < 128; j++) {
				aptr_x[i * 128 + j] = i ;
			}
		}
		aptr_y[0] = 1;
		array_x.SyncCopyFromCPU(aptr_x, 128 * 128);
		array_x.WaitToRead();
		array_y.SyncCopyFromCPU(aptr_y, 1);
		array_y.WaitToRead();

		// init the parameters
		mxnet::NDArray conv1_1(mshadow::Shape4(4,1,5,5), ctx_dev, false);
		mxnet::NDArray conv1_2(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn1_1(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn1_2(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray conv2_1(mshadow::Shape4(4, 4, 5, 5), ctx_dev, false);
		mxnet::NDArray conv2_2(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn2_1(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn2_2(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray fc1_1(mshadow::Shape2(2,196), ctx_dev, false);
		mxnet::NDArray fc1_2(mshadow::Shape1(2), ctx_dev, false);

		// the parameters should be initialized in some kind of distribution,
		// so it learns fast
		// but here just give a const value by hand
		conv1_1 = 0.5f;
		conv1_2 = 0.0f;
		bn1_1 = 0.5f;
		bn1_2 = 0.5f;
		conv2_1 = 0.5f;
		conv2_2 = 0.0f;
		bn2_1 = 0.5f;
		bn2_2 = 0.5f;
		fc1_1 = 0.5f;
		fc1_2 = 0.0f;
		// the grads
		mxnet::NDArray conv1_1g(mshadow::Shape4(4, 1, 5, 5), ctx_dev, false);
		mxnet::NDArray conv1_2g(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn1_1g(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn1_2g(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray conv2_1g(mshadow::Shape4(4,4, 5, 5), ctx_dev, false);
		mxnet::NDArray conv2_2g(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn2_1g(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray bn2_2g(mshadow::Shape1(4), ctx_dev, false);
		mxnet::NDArray fc1_1g(mshadow::Shape2(2,196), ctx_dev, false);
		mxnet::NDArray fc1_2g(mshadow::Shape1(2), ctx_dev, false);

		// Bind the symolic network with the ndarray
		std::map<std::string, mxnet::Context> g2c;
		// all the input args
		std::vector<mxnet::NDArray> in_args;
		in_args.push_back(array_x);
		in_args.push_back(conv1_1);
		in_args.push_back(conv1_2);
		in_args.push_back(bn1_1);
		in_args.push_back(bn1_2);
		in_args.push_back(conv2_1);
		in_args.push_back(conv2_2);
		in_args.push_back(bn2_1);
		in_args.push_back(bn2_2);
		in_args.push_back(fc1_1);
		in_args.push_back(fc1_2);
		in_args.push_back(array_y);
		// all the grads
		std::vector<mxnet::NDArray> arg_grad_store;
		arg_grad_store.push_back(
			mxnet::NDArray());  // we don't need the grad of the input
		arg_grad_store.push_back(conv1_1g);
		arg_grad_store.push_back(conv1_2g);
		arg_grad_store.push_back(bn1_1g);
		arg_grad_store.push_back(bn1_2g);
		arg_grad_store.push_back(conv2_1g);
		arg_grad_store.push_back(conv2_2g);
		arg_grad_store.push_back(bn2_1g);
		arg_grad_store.push_back(bn2_2g);
		arg_grad_store.push_back(fc1_1g);
		arg_grad_store.push_back(fc1_2g);
		arg_grad_store.push_back(
			mxnet::NDArray());  // neither do we need the grad of the loss
		// how to handle the grad
		std::vector<mxnet::OpReqType> grad_req_type;
		grad_req_type.push_back(mxnet::kNullOp);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kWriteTo);
		grad_req_type.push_back(mxnet::kNullOp);
		std::vector<mxnet::NDArray> aux_states;
		cout << "make the Executor" << endl;
		mxnet::Executor* exe =
			mxnet::Executor::Bind(sym_out, ctx_dev, g2c, in_args, arg_grad_store,
			grad_req_type,aux_states);

		cout << "Training" << endl;
		exe->Forward(true);

		const std::vector<mxnet::NDArray>& out = exe->outputs();
		mxnet::NDArray c_cpu = out[0].Copy(ctx_cpu);
		c_cpu.WaitToRead();
		mxnet::real_t* cptr = static_cast<mxnet::real_t*>(c_cpu.data().dptr_);
		cout << cptr[0];

		delete[] aptr_x;
		delete[] aptr_y;
	}
};

int main(int argc, char** argv) {
	CNN cnn;
	cnn.Train();
	return 0;
}

The array_x is the input which shape is(1,1,128,128);This is the python program to detect shape inconsistency,so I think the in_args is right.
import mxnet as mx
data = mx.symbol.Variable('data')
net= mx.symbol.Convolution(data = data, name='conv1', num_filter=4, kernel=(5,5), stride=(2,2))
net = mx.symbol.BatchNorm(data = net, name="bn1")
net= mx.symbol.Activation(data =net, name='relu1', act_type="relu")
net = mx.symbol.Pooling(data = net, name = 'mp1', kernel=(2,2), stride=(2,2), pool_type='max')

net= mx.symbol.Convolution(data = net, name='conv2', num_filter=4, kernel=(5,5), stride=(2,2))
net= mx.symbol.BatchNorm(data = net, name="bn2")
net = mx.symbol.Activation(data =net, name='relu2', act_type="relu")
net = mx.symbol.Pooling(data = net, name = 'mp2', kernel=(2,2), stride=(2,2), pool_type='max')

net = mx.symbol.Flatten(data = net, name="flatten")
net = mx.symbol.FullyConnected(data = net, name='fc1', num_hidden=2)
net = mx.symbol.SoftmaxOutput(data = net, name = 'sm')
arg_shape, out_shape, aux_shape = net.infer_shape(data=(1, 1,128, 128))
dict(zip(net.list_arguments(), arg_shape))

I don't know what's wrong with my program,could sombody help me?

Where exactly is the error? Could you compile with debug and trace the error?

@piiswrong I'm sorry ,when I compile this with debug,there is another problem,which says
Program: D:\mxnet\win64\app\MxnetTestApp\x64\Debug\MxnetTestApp.exe
File: f:\dd\vctools\crt\crtw32\misc\dbgheap.c
Line: 1424

Expression: _pFirstBlock == pHead
```I think this maybe caused  when i build libmxnet.dll from the  source.
Can you run this program and help me to find where is wrong?
I only know the error happened at the

mxnet::Executor* exe =
mxnet::Executor::Bind(sym_out, ctx_dev, g2c, in_args, arg_grad_store,
grad_req_type,aux_states);

@zhubuntu
Two problems here.
First, the shape is wrong. Try using infer-shape.
Second, when you use BatchNorm operatot, you'll need the aux_states.
refer to new PR https://github.com/dmlc/mxnet/pull/980
For now, if you want to use cpp, you have to check the code carefully.
It is not the 'official support' yet :)

@zhangchen-qinyinghua Thanks, i'm not familiar with the source codes,I'll try to read it.But when i try to compile the mlp.cpp with debug ,It still show the error information
Program: D:\mxnet\win64\app\MxnetTestApp\x64\Debug\MxnetTestApp.exe
File: f:\dd\vctools\crt\crtw32\misc\dbgheap.c
Line: 1424
Expression: _pFirstBlock == pHead

And it happend at the
mxnet::Symbol sym_fc_1 = FullyConnectedLayer(sym_x, "512", "fc1");

when the FullyConnectedLayer function end. Was it because I use the windows version?I rebulid the libmxnet.dll with debug from the source ,it still has this problem.

@zhubuntu
As I said, the fc_1 NDArray shape you feed into the Net is not right. Try to fix it first.
Try using infer-shape functon.
I've never used the Windows version. I'll try to make a mlp example with c_apis, maybe a little bit later.

@zhangchen-qinyinghua I see, thanks for your help. Really appreciate about this.

@zhubuntu
Still, maybe you can try using PR #980 , and see if it can make the use of cpp a little easier. (And see if bugs there)

@zhangchen-qinyinghua Ok,I'll see if I can run it tomorrow.It's time to prepare the exam.

@zhangchen-qinyinghua I can run this ,and there is some change i made
1, I change the
class MXNET_API  CppNet {

in cpp_net.hpp to
class  CppNet {

because i found with MXNET_API ,when compile it will shows
error LNK2001:  unresolved   external   symbol "__declspec(dllimport) public: __cdecl mxnet::CppNet::~CppNet(void)" (__imp_??1CppNet@mxnet@@QEAA@XZ)

2,I change the
MnistCppNet mnist(true, 2);

in the main function  to
MnistCppNet mnist(true, 0);

because I only have one GPU.
Thanks for this,I learn very much from your program.
This is the screenshot I run it

This might have been caused by different layout of structures between the
DLL and the EXE. With different compile options, the compiler might layout
the struct/class in different ways, creating incompatible code. There are
two ways to avoid this: 1) use only C api in the dll. 2) compile the exe
directly, instead of generating DLL and then link into EXE
I would like to suggest we take 1, since we will then just offer binary
distribution of the DLL, just as we did with Python and R.
On Mon, Dec 21, 2015 at 11:05 AM, zhubuntu notifications@github.com wrote:

@zhangchen-qinyinghua https://github.com/zhangchen-qinyinghua I can run
this ,and there is some change i made
1, I change the
class MXNET_API  CppNet {
in cpp_net.hpp to
class  CppNet {
because i found with MXNET_API ,when compile it will shows
error LNK2001:  unresolved   external   symbol "__declspec(dllimport) public: __cdecl mxnet::CppNet::~CppNet(void)" (_imp??1CppNet@mxnet@@QEAA@XZ)
2,I change the
MnistCppNet mnist(true, 2);
in the main function to
MnistCppNet mnist(true, 0);
because I only have one GPU.
Thanks for this,I learn very much from your program.
This is the screenshot I run it
[image: 1]
https://cloud.githubusercontent.com/assets/15666683/11922525/931e30f8-a7d2-11e5-8643-7964f5ccadc5.png
—
Reply to this email directly or view it on GitHub
https://github.com/dmlc/mxnet/issues/987#issuecomment-166185023.

--
HONG Chuntao
System Research Group
Microsoft Research Asia

@zhubuntu
Thank you for you work.
@hjk41
Does this mean if I add a MXNET_API in front of the CppNet class, then it will be runnable for Windows, without changing the source codes?
And it is possible to use C api only. Just takes a few more work.

@zhangchen-qinyinghua
Any class or function not guarded by MXNET_API will not be exported in the DLL. So if you try to use it, you get undefined symbol. For example, Executor::Bind(), and xxx::Create() functions are not exported by default.
By using MXNET_API, we can fix the undefined symbol problem, but then we face the class layout problem. Different compiler/compiler options results in different class layout, thus calling C++ API from dynamic library is a bad idea. This is also a problem for Linux, if you use GCC -O2 to compile the .so file, and then use GCC -O0 to compile mlp.
The only safe way to use dynamic library is to use only C api, which is well defined and compatible across different compilers. I have just started writing a C++ wrapper on top of the C API, could you take a look at it? Maybe we can work together on the wrapper. And we probably should setup a standalone project as we did for MxNet.jl.

@hjk41
I got your point.
It sounds reasonable.

@zhangchen-qinyinghua The latest code is here: https://github.com/hjk41/MxNet.cpp

@zhubuntu @zhangchen-qinyinghua  Let's move to the #868  for discussing this issue.

@zhubuntu The cpp wrapper will soon be available. I will close this issue now.

authors: hjk41 piiswrong zhangchen-qinyinghua zhubuntu

repo: dmlc/mxnet


text:
[TOPI] Overload operators of Tensor when TOPI is imported

We have support like topi.broadcast_add, this is useful but not most convenient. Ideally, we want topi to support numpy compatible syntax like TVM. this means we want the code in the following style.
import topi

x = tvm.placeholder((10,))
y = tvm.placeholder((10, 20))

# This calls topi.broadcast_add, and then multiplies by scalar.
z = (x + y)  * 3

We can refactor current TVM's tensor system to make it happen. Specifically, we can implement the overload as dummy function like tvm.ndarray.__add__(), and replace these functions with the correct implementation when topi imported.

[x] Overload operators
[x] Implement topi counterpart

close by #1029 thanks to @dingobye

repo: dmlc/tvm


text:
use pytest instead of nosetest

nosetest is in maintenance mode, so we should switch to the more modern framework.

@tqchen if you add 'import topi' to test_codegen_llvm.py, and run it, it will failed. do you has any idea?

https://github.com/dmlc/tvm/pull/3595 should fix your issue.

@tqchen @kevinthesun can you guys help review?

Thanks @MarisaKirisame

authors: MarisaKirisame kevinthesun tqchen


text:
"Debug" doesn't seems to work

Hi,
I've tried to set debug as true but it doesn't print anything. Am I missing something ?
Currently, debug setting as "true" init a property mail.smtp.debug but isn't it better to just call setDebug(true) on the javax MailSession ?
Best regards

I'll close this issue as there is no activity. I'm not sure I understand the problem, please reopen if it's still a problem for you.

authors: daddykotex tiboun

repo: dmurvihill/courier


text:
Long branch names overlap in ref label bar

Fixed via 9530924d1789124b7f9938de46746713c741943c

repo: dmusican/Elegit

license: mit

license_source: bigquery


text:
Feature/plus and minus 387

Changed the + and - symbols on the buttons for loading repos and removing repo shortcuts to pictures of repos with + or - in the bottom right corner. I also moved them to the left, so they made sense intuitively with the dropdown. I also added a "Current Repository:" label for the dropdown with a default prompt text of None.

Looks great, thanks!

authors: dmusican grenche


text:
New DMWM up-to-date workflow json templates

Fixes #8915

That's a good start. I might add a few more templates in the coming couple of months though.

repo: dmwm/WMCore


text:
[FEATURE] Installation script

I wrote a simple bash script to install gensoquote. (part of the fumosay-gensoquote wrapper script)
gensoquote_install.txt

It reminds you to install the dependencies (curl and git)
It handles installing cargo automatically, if needed
Installs to /usr/local/bin
Tested on Debian WSL2

I honestly don't think creating single "general" install script is good practice. There are a lot of problems with it and almost infinite amount of possibilities that you would need to cover.
For example your gensoquote_install.txt (and probably any other humanly written install script would) have at least this problems:

Even /bin/bash itself may not exist or be at another location, for example like in nixos, it's located at /nix/store/mb82447z77gwh2vfsmvj03qq141c6rph-system-path/bin/bash, or any other os that doesn't use FHS.
Person installing program may <not <want / <be able>> / <prefer other implementations>> to use any of commands that script uses, such as curl (maybe they prefer wget or any other), git (maybe they like gix) and so on.
On most linux distros prefered way of installing anything (rust/cargo including) is through package manager instead of script from the internet.
Installing program to /usr/local/bin (even in case of FHS) means that firstly you need root access and secondly it is will be available to all users of pc
It only works on Debian and Ubuntu (and all their derivatives) which are only about third of all linux user. But what about two thirds of other? Like Fedora and all it's derivatives, Arch and all it's derivatives, not to mention all other distros that are "different" like NixOS, Gentoo, Linux From Scratch and so on? Supporting them all (or even three main: Debian, Fedora, Arch) seems extremely hard task for me and i honestly don't want to be cause of someone's problems, like on Pop_OS! when you installed Steam you could break your entire desktop.

And that's not even considering it from the security and bugs point.

Those are some good points!

authors: dmyTRUEk randomtwdude

repo: dmyTRUEk/gensoquote


text:
Firefox block expand/contract not working with keyboard properly

The following cucumber tests failed when regression testing using Firefox.  Not sure if this is an issue for other browsers or not:

Related: #697

authors: Cheddam emteknetnz

repo: dnadesign/silverstripe-elemental


text:
🛑 AR Panel is down

In d4bd03f, AR Panel (https://panel.siembro.com) was down:

HTTP code: 500
Response time: 136 ms

Resolved: AR Panel is back up in b92df9b.


text:
DNN-7273 Added js function to handle error messages from a service an…

…d show them in the UI. Fix checking of existing content types and content fields: now it is case insensitive. Also changed HTTP status code returned when the entity is not valid: from 500 (Internal Server Error) to 422 (Unprocessable entity)

hi @ohine, correct. This is a pending change. We plan to change DCC soon and use some Exception Filter Attribute so any unhandled exception is properly logged in the Event Viewer (right now it does not) and return only a friendly message (for UI perspective) or just the http status code as part http response. As you said we should never expose server side detail to the client.

authors: francescorivola pberna


text:
Crouton update failed for target sid

My current crouton is:
chronos@localhost ~/Downloads $ sudo edit-chroot -all
name: sid
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/sid...
crouton: version 1-20170619181610~master:980f090f
release: sid
architecture: armhf
xmethod: xorg
targets: xorg,extension,cli-extra
host: version 9765.48.0 (Official Build) beta-channel daisy_spring
kernel: Linux localhost 3.8.11 #1 SMP Mon Aug 28 21:53:34 PDT 2017 armv7l GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/sid...

sudo sh crouton -u -r sid failed to compile CRAS:
Compiling CRAS (native)...
common/edid_utils.c: In function 'show_edid':
common/edid_utils.c:687:29: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]
   (edid_data[EDID_VIDEO_IN] * 0x10) ? "Blank to black" : "",
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
common/edid_utils.c:688:29: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]
   (edid_data[EDID_VIDEO_IN] * 0x08) ? "Separate" : "",
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
common/edid_utils.c:689:29: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]
   (edid_data[EDID_VIDEO_IN] * 0x04) ? "Composite" : "",
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
common/edid_utils.c:690:29: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]
   (edid_data[EDID_VIDEO_IN] * 0x02) ? "On-green" : "",
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
common/edid_utils.c:691:29: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]
   (edid_data[EDID_VIDEO_IN] * 0x01) ? "Serration V" : "",
   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
cc1: all warnings being treated as errors
Failed to complete chroot setup.

See 'Common issues and reporting'

authors: DennisLfromGA savostyanov

repo: dnschneid/crouton


text:
Issue 27 - API refactor

Add Reader and Writer APIs to provide lower-level control over I/O than the Input and Output interfaces.
Add Encoder, Decoder to handle parsed dnstap messages.
Add configurable logging to Input and Output implementations, removing log.Fatal calls.

OK from me, I like documentation and overall improvements. I only had hard time going through SocketWriter.go, but I understand it's needed for supporting already established API methods. If that's possible in future, I'd argue for general simplification and dropping some convenience wrappers and abstractions. This PR looks to me as a good step towards.

Finally, a few minor suggestions:
diff --git a/FrameStreamInput.go b/FrameStreamInput.go
index d09dd1c..8c2a330 100644
--- a/FrameStreamInput.go
+++ b/FrameStreamInput.go
@@ -65,6 +65,7 @@ func NewFrameStreamInputTimeout(r io.ReadWriter, bi bool, timeout time.Duration)
        return &FrameStreamInput{
                wait:   make(chan bool),
                reader: reader,
+               log:    nullLogger{},
        }, nil
 }

@@ -75,8 +76,7 @@ func NewFrameStreamInputFromFilename(fname string) (input *FrameStreamInput, err
        if err != nil {
                return nil, err
        }
-       input, err = NewFrameStreamInput(file, false)
-       return
+       return NewFrameStreamInput(file, false)
 }

 // SetLogger configures a logger for FrameStreamInput read error reporting.
diff --git a/FrameStreamOutput.go b/FrameStreamOutput.go
index 50789b8..c65b382 100644
--- a/FrameStreamOutput.go
+++ b/FrameStreamOutput.go
@@ -40,6 +40,7 @@ func NewFrameStreamOutput(w io.Writer) (o *FrameStreamOutput, err error) {
                outputChannel: make(chan []byte, outputChannelSize),
                wait:          make(chan bool),
                w:             ow,
+               log:           nullLogger{},
        }, nil
 }

diff --git a/Reader.go b/Reader.go
index c1af88a..df45e5c 100644
--- a/Reader.go
+++ b/Reader.go
@@ -45,14 +45,10 @@ func NewReader(r io.Reader, opt *ReaderOptions) (Reader, error) {
        if opt == nil {
                opt = &ReaderOptions{}
        }
-       fr, err := framestream.NewReader(r,
+       return framestream.NewReader(r,
                &framestream.ReaderOptions{
                        ContentTypes:  [][]byte{FSContentType},
                        Timeout:       opt.Timeout,
                        Bidirectional: opt.Bidirectional,
                })
-       if err != nil {
-               return nil, err
-       }
-       return fr, nil
 }

authors: cmikk pforemski

repo: dnstap/golang-dnstap


text:
Clean up syntaxes

[0-9] mean the same thing as \d and {1,} mean the same thing as +

First let me set up a small dumb test to check regex syntax changes, then we can rebase and merge this 😅

You will have to resolve the conflicts. Suggested regex will work, but i didn't implement in  https://github.com/dnswarden/blocklist-staging/pull/43

authors: GiddyGoatGaming bhanupratapys

repo: dnswarden/blocklist-staging


text:
Add option to change "max. grid supply to grid from battery"

I'm using strategy power_mng.soc_strategy = 0 ("SOC Target") in combination with a certain value to drain by setting power_mng.soc_target_set.
What I've learned is, that additionally, I have to specify the power, the battery can supply to the grid.
This setting is available in the app by the following setting:

Question: Can we add this options to the parameters of rct.py?
Already checked documentation of rctclient (direct link) but could not identify the right parameter name.
Additionally, I found out that the parameter power_mng.soc_charge_power (Charging power to reach SOC target) is not the right parameter.
Can anybody give advice and shall we implement this?
Greettings
Heiko

@heikone Log in to the app with the factory password. The registry name of the rctclient is always displayed there.
Unfortunately, I'm not at home, otherwise I would check it myself.

Refer to pull request #10.

Can you describe why I should discharge my battery into the grid? Doesn't that only make sense with dynamic prices for the feed-in tariff?

And how does the inverter behave in emergency power mode?

Can you describe why I should discharge my battery into the grid? Doesn't that only make sense with dynamic prices for the feed-in tariff?

Because my wallbox is installed between inverter and grid. The wallbox's clamps measure the power, that is transferred from inverter into the grid. Whit this setup, the wallbox can load on surplus only (Zappi calls this ECO+). But to drain the battery, I need to create a "virtual" surplus as power from battery to grid.

And how does the inverter behave in emergency power mode?

Not testet. I guess you mean island mode. In the mode, the inverter is disconnected from grid a therefore not export to grid shall be possible.
Hope this clarifies your questions.

Can this issue be closed meanwhile?

authors: do-gooder heikone


text:
Separation of Concerns regarding CSS/JS

Can you create separate files called index.js and index.css?

That's definitely the right thing to do in the long run. In the beginning I just wanted to keep it as simple as possible for anyone to download the index.html.
There is actually a function for downloading the entire file with one click which would be more complicated to do if you have everything (properly) separated.
My initial plan was to allow everyone with

index.html
a browser
any PyTorch model

and without internet connection, to perform local semantic search. The user would simply download the model and enter the path e.g. with filepicker. Note that if you just load index.html with your browser you don't even need a server running, which is quite convenient.
I don't know whether webpack or similar tools might allow a convenient "one-file" html export. If so, I'd propose to continue as follows:

Split the index.html in js, css, html
Have some CI building the one-file index.html in a dist folder

Would make it easier for debugging and development, totally agree!
If the one-file build is not feasible, I'd just keep a one-file version on my homepage but still go the "proper" way.
Also, in the coming week I want to activate CI and GitHub pages, making it easier for development and properly separating the repo from my blog.

I added a PR that does just that.
I could easily add and commit the dist directory, if you'd like me to!

Yes that would be great too!

authors: do-me kungfooman lizozom

repo: do-me/SemanticFinder


text:
How to use minTimeuuid() and maxTimeuuid() with entity manager with achilles

Hi,
I have an entity where I have a column as timeuuuid, also I tagged it using @TimeUUID annotation as well. Now I am looking for querying on that field using minTimeuuid() and maxTimeuuid() functions - how do i do it with achilles based entity manager created.
I am trying to fetch the data between the time range using minTimeuuid() and maxTimeuuid() functions.
Following is my entity:
test_schedule(
cust uuid, //primary key
nextschedule timeuuid //clustering key 1
......other fields
)
I have inserted data manually in this entity and was able to run following CQL Statement - which returns the correct data also:
select  * from test_schedule WHERE cust = c056a271-928e-43e1-974e-75e9ba1310b2 and nextschedule > maxTimeuuid('2018-06-29 15:50')
AND nextschedule < minTimeuuid('2018-06-29 16:30');
BUT In the code while using entity manager the records are not returned.
Populating the Entity:
I am populating the above entity using entity manager generated and provided by achilles and setting the timeuuid from the long timestamp using UUIDs.startOf(long timestamp)
    UUID timeUUID = UUIDs.startOf(nextSchedule);
    testScheduleEntity.setNextSchedue(timeUUID);

While fetching - I am using the
Long startTime = DateTime.now().getMillis();
UUID startTimeUUID = UUIDs.startOf(startTime);
Long lookupEndTime = new DateTime(startTime).plusHours(24).getMillis();
UUID endTimeUUID = UUIDs.endOf(lookupEndTime);
testScheduleEntityManager.dsl().select()
.allColumns_FromBaseTable().where().cust().Eq(custUUID)
.nextSchedule().Gte_And_Lte(startTimeUUID, endTimeUUID).getList();
Is this correct way to find out the records which are between the time range based on a time uuid field? Can you please guide here.

Hello
So currently it is not possible to use function in the WHERE clause in source code generated by Achilles. I can certainly enhance the code to support this feature but there is no big use cases for the moment.
What you can do is to craft your query using the native QueryBuilder from the Java driver to create a statement and then use the Type Query API to do the object mapping for you

@doanduyhai ,
Thanks for the update, I am actually trying in an entity using achilles and seems there are Gte(>=) and Let(<=) functions being generated for that field. Also I am using UUIDs.startOf and UUIDs.endOfand using the entity manager and above function, it seems its working fine. I will test further and update.
Thanks

authors: doanduyhai ronakthakrar

repo: doanduyhai/Achilles


text:
If a vendor signs up to an opportunity without having signed up for categories, they don't get a welcome email

From @bsmithgall on September 2, 2015 22:3
Is this the desired behavior? I feel like we haven't really thought about this use case all the way.
Copied from original issue: codeforamerica/pittsburgh-purchasing-suite#327

@alizauf and I just discussed a bit more what this issue might mean. We're pretty sure it's this:

@ajb would it be helpful for me to talk through anything?

@bsmithgall: thanks for the offer! Our intent was to ping you when there was a PR, we think we've tracked it down now. (For the second time.) We'll keep your offer in mind for the other issues in here :)

:+1:

I added a link to that email and also the flash alert has a link to the signup page when you sign up to follow opportunities.

authors: ajb alizauf bsmithgall

repo: dobtco/beacon


text:
Updates to the CDN need to build index pages

The CDN hosting doesn't support automatic indexing of directories.

Fixed in 0.9.11

repo: docbook/xslTNG


text:
7.6.7-图形化版本，能登陆成功后自动报会话已过期

版本：7.6.7-图形化版本
能登陆成功，但是１０几秒后就弹出会话已过期的问题，有遇到过的吗？

命令行版本有没有此问题？

命令行版本，vpn地址一直登陆不了

试试最新版本的镜像行不行？EasyConnect 最近更新了一下

难道也是修复了log4j吗...

你们的vpn地址没有端口么 @geosmart

我也有类似的问题,过几秒钟就会话过期了,在centos 上运行的

试了最新的版本7.6.7还是不行，
docker run \
--name easyconnect \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-ti \
-e PASSWORD=xxx  \
-v $HOME/.ecdata:/root \
-p 127.0.0.1:5901:5901 \
-p 127.0.0.1:9080:1080 \
-p 127.0.0.1:9888:8888 \
hagb/docker-easyconnect:7.6.7

试试最新版本的镜像行不行？EasyConnect 最近更新了一下

需要短信验证码，所以只能尝试vnc的

你们的vpn地址没有端口么 @geosmart

没有端口 https://vpn.xxx.com.cn

猜测是服务端空闲时间自动断开，我是通过设置定时任务，每分钟请求一下连接vpn后能访问的内网资源。保持连接不空闲，目前没遇到过自动断开的问题了。
比如，连接vpn后才能访问内网的某个资源 http://abc.com/edf.html
我在宿主机上设置了crontab
*/1  * * * *  /usr/bin/curl http://abc.com/edf.html  -x socks5h://localhost:1079 &>/dev/null

我这个情况是刚登录成功，立刻就报session过期。
easyconnect/深信说只支持ubuntu18.0，我这个是20.0不确保稳定性

我这个情况是刚登录成功，立刻就报session过期。 easyconnect/深信说只支持ubuntu18.0，我这个是20.0不确保稳定性

docker屏蔽了很多底层差异，我用的centos8.2，easyconnect 7.6.7 vnc版本，目前看是OK的。就是重启需要删除conf目录

或许可以看看 /usr/share/sangfor/EasyConnect/resources/logs 里的日志里能不能找到线索？
另外，如果需要的话，在 /usr/share/sangfor/EasyConnect/resources/conf/LogConf.xml 可以调日志级别

或许可以看看 /usr/share/sangfor/EasyConnect/resources/logs 的日志里能不能找到线索？ 另外，如果需要的话，在 /usr/share/sangfor/EasyConnect/resources/conf/LogConf.xml 可以调日志级别

感谢
在`/usr/share/sangfor/EasyConnect/resources/logs/ECAgent.log 中有提示
[2022-03-23 01:25:31][I][ 314][GetApiResult][ApiNeedUpdateImplementor] force update version is 7.6.7.5, server version is 7.6.7.4, need update
然后去conf目录 做了一下替换
sed -i 's/7.6.7.5/7.6.7.3/g'  pkg_version.xml   替换的版本，必须小于7.6.7.4 ，等于7.6.7.4不行。 问题可解。

或许可以看看 /usr/share/sangfor/EasyConnect/resources/logs 的日志里能不能找到线索？ 另外，如果需要的话，在 /usr/share/sangfor/EasyConnect/resources/conf/LogConf.xml 可以调日志级别

感谢
在/usr/share/sangfor/EasyConnect/resources/logs/ECAgent.log 中有提示 [2022-03-23 01:25:31][I][ 314][GetApiResult][ApiNeedUpdateImplementor] force update version is 7.6.7.5, server version is 7.6.7.4, need update`
然后去conf目录 做了一下替换 sed -i 's/7.6.7.5/7.6.7.3/g' pkg_version.xml  替换的版本，必须小于7.6.7.4 ，等于7.6.7.4不行。 解决了version not matching的问题 joy

这个easyconnect的服务端可以设置不校验客户端版本，我们这边服务端关了，我这边客户端就不提示强制升级了，但是那个会话失效的问题还没解决

或许可以看看 /usr/share/sangfor/EasyConnect/resources/logs 的日志里能不能找到线索？ 另外，如果需要的话，在 /usr/share/sangfor/EasyConnect/resources/conf/LogConf.xml 可以调日志级别

感谢
在/usr/share/sangfor/EasyConnect/resources/logs/ECAgent.log 中有提示 [2022-03-23 01:25:31][I][ 314][GetApiResult][ApiNeedUpdateImplementor] force update version is 7.6.7.5, server version is 7.6.7.4, need update然后去conf目录 做了一下替换sed -i 's/7.6.7.5/7.6.7.3/g' pkg_version.xml ` 替换的版本，必须小于7.6.7.4 ，等于7.6.7.4不行。 解决了version not matching的问题 joy

这个easyconnect的服务端可以设置不校验客户端版本，我们这边服务端关了，我这边客户端就不提示强制升级了，但是那个会话失效的问题还没解决

上面的方法可以应用在无法操作服务端的场景。 会话失效的问题，日志中有没有线索？

大佬能讲一下具体怎么做吗？就是如何使用dig获取vpn的ip并追加hosts文件？
而且我这边还存在一个问题是使用dig +short 无法获取ip地址

authors: Hagb geosmart heshuji kongfei605 lengjilong7 lishoujun

repo: docker-easyconnect/docker-easyconnect

license: WTFPL


text:
Using base image: Alpine 3.4 / Node v4.5.0 / NPM_VERSION=2

https://github.com/mhart/alpine-node/blob/c447925032bf2a8d7a8bddb55612a2583f809035/Dockerfile
https://hub.docker.com/r/mhart/alpine-node/

Seeing that Nginx is maintaining both (Ubuntu Jessie and Alpine), I started to use the Alpine lately.
Regarding this Ghost Dockerfile, I have to admit that I don't have the courage to convert the current Jessie image into an Alpine one.
Cheers!

Node upstream is still working on Alpine support: https://github.com/nodejs/docker-node/issues/46.

Looks like the alpine image is ready :)
https://github.com/nodejs/docker-node/blob/master/4.7/alpine/Dockerfile

Node V6 is now recommended: https://github.com/docker-library/ghost/issues/58

authors: pascalandy yosifkit

repo: docker-library/ghost


text:
docker-entrypoint.sh Permission Denied

Docker version 17.05.0-ce, build 89658be
docker-compose version 1.14.0, build c7bdf9e
I got permission denied if i am using mongo with docker-compose.
mongo1_1           | error: exec: "/usr/local/bin/docker-entrypoint.sh": stat /usr/local/bin/docker-entrypoint.sh: permission denied
But it is the same if i try to run the single container with that docker-entrypoint.sh script. Is there someting what i am doing wrong?
$ docker run -tiP mongo bash
root@a277ea29a1a4:/# docker-entrypoint.sh mongodb

'[' m = - ']'
originalArgOne=mongodb
[[ mongodb == mongo* ]]
++ id -u
'[' 0 = 0 ']'
'[' mongodb = mongod ']'
chown --dereference mongodb /proc/511/fd/1 /proc/511/fd/2
exec gosu mongodb /usr/local/bin/docker-entrypoint.sh mongodb
error: exec: "/usr/local/bin/docker-entrypoint.sh": stat /usr/local/bin/docker-entrypoint.sh: permission denied

root@a277ea29a1a4:/# ls -ltr /usr/local/bin/docker-entrypoint.sh
-rwxrwxrwx 1 root root 7688 Jul 28 16:01 /usr/local/bin/docker-entrypoint.sh

Found the error. Image has not been build correctly.

Am still seeing this issue, when using the mongo:3.6.6 image in my docker-compose file.
docker-compose file snippet:
dbservice:
image: "mongo:3.6.6"
ports:
- "5009:27017"
volumes:
- /home/data/db:/data/db
- /home/data/configdb:/data/configdb
restart: on-failure
error:
error: exec: "/usr/local/bin/docker-entrypoint.sh": stat /usr/local/bin/docker-entrypoint.sh: permission denied
mongo service is crashing continuously with the above error. Can you please help me identifying the appropriate image for the mongo version 3.6.*

@agarwal13 , did you build the mongo:3.6.6 image yourself or did you docker pull it?
Could be similar to https://github.com/docker-library/percona/issues/7 or https://github.com/docker-library/postgres/issues/386?

Any updates? I'm having the same issue, using docker pull mongo:4.1.3 image...

Could be AppArmor or SELinux blocking the script.

@yosifkit Yes, am building with the mongo:3.6.6. This seems to be running fine on the linux system as it is. But, when tried running inside a lxd container, it is failing with the same error. i.e.,
error: exec: "/usr/local/bin/docker-entrypoint.sh": stat /usr/local/bin/docker-entrypoint.sh: permission denied
Any idea why is this happening? I tried security.privileged and security.nesting to true and still the issue is persistent

authors: agarwal13 allistoncarlos manuelkasiske tianon yosifkit

repo: docker-library/mongo


text:
Docker container issue

when a docker PostgreSQL container get crash/stop how could i recover data . is it any possible to recover ?

If your data is mounted as a volume you can try starting a new container from it, otherwise if it's corrupted then this comment might help you.
Going to close since this isn't an issue with the image and should be asked over at the Docker Community Forums, the Docker Community Slack, or Stack Overflow

authors: naveenkumarboopathi wglambert

repo: docker-library/postgres


text:
Downgrade llvm to 15 to fix jit support

PostgreSQL doesn't support llvm 16 (https://github.com/docker-library/postgres/issues/1076#issuecomment-1545209600):

https://www.postgresql.org/message-id/flat/17927-2d7146227560bdf3%40postgresql.org
https://www.postgresql.org/message-id/flat/17929-71c7a59e1930980b%40postgresql.org

Thank you for your comments on #1076 on pointing me in a direction for a fix ❤. Apologies for any stress and work that this caused 🙇♂. With the added test in https://github.com/docker-library/official-images/pull/14646, we shouldn't run into this issue again.
Fixes https://github.com/docker-library/postgres/issues/1076

Hopefully DOCKER_PG_LLVM_DEPS should make it easier for PostgreSQL extension installation on Alpine.
If the LLVM_CONFIG or CLANG variables are necessary/useful to extensions I am willing to move them to ENV as well (or maybe scraping them from pg_config --configure is enough?).

Hopefully DOCKER_PG_LLVM_DEPS should make it easier for PostgreSQL extension installation on Alpine.

Thank you!
My local docker-postgis  docker build test was successful with the new DOCKER_PG_LLVM_DEPS  ! :heavy_check_mark:

authors: ImreSamu yosifkit


text:
Update release checklist with further details

Add details for release checklist for where to put the update the changelist and which branch to cherry-pick from. Also add more details around creating the tag and verifying the tag is correct.

Current coverage is 51.20% (diff: 100%)

Merging #2155 into master will decrease coverage by 10.04%

@@             master      #2155   diff @@
==========================================
  Files           125        125
  Lines         11436      11433      -3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           7004       5854   -1150
- Misses         3545       4833   +1288
+ Partials        887        746    -141

Powered by Codecov. Last update 954b4e8...959659c

authors: codecov-io dmcgowan

repo: docker/distribution


text:
flicker page when dark mode

File: compose/compose-file/compose-file-v3.md
only this page flicker when dark mode.

Thanks for sharing the issue.
This seems similar to https://github.com/docker/docker.github.io/issues/11468
Does the issue still occur and does it only happen when navigating to a new page?

Closing this as stale. I was only able to reproduce a flicker when changing pages. If the issue still persists and is different than 11468, please provide more details on how to reproduce.

authors: craig-osterhout sinsinpurin


text:
Clarify whether a unique repository can be used both for Debian and Raspbian

File: engine/installation/linux/debian.md
Previous version of this document had clearer instruction on how to setup the Deb repository for Raspbian. In current release, Raspbian is still mentioned in the supported OS, but there is no longer a specific version for it.
Current document state:
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

It seems that for Raspbian we could possibly use:
$ sudo add-apt-repository \
   "deb [arch=armhf] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

But that does not work. The add-apt-repository command does not work on Raspbian. What I did is the following:
$ echo "deb [arch=armhf] https://download.docker.com/linux/debian \
   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

That seems to work and I am able to install docker-ce but when doing sudo apt-get update I have the following warning:
W: Conflicting distribution: https://download.docker.com jessie InRelease (expected jessie but got )

Anyway, previous Docker release (e.g. 1.13.1) supported Debian and Raspbian for armhf (there was 2 distinct deb packages). The documentation is unclear now if a unique repository can be used for both Debian and Raspbian.

I have ran into the same issue today. Another workaround until the page is fixed is to follow the quick install command from the Raspberry PI homepage's Docker article at https://www.raspberrypi.org/blog/docker-comes-to-raspberry-pi/ It will install the latest CE version.

I'm working on this 💯  @mstanleyjones @londoncalling

Fixed by PR #2893

I cannot reopen this issue, but I'm going to propose a PR for this issue with slightly different changes which in my opinion are not perfect but getting closer what it should be.

@londoncalling @sandor-juhasz @NonCreature0714
Perhaps you could all have a look at my 2 PRs and let me know what you think?
One is about consistency so that the Debian specific parts stays pure Debian (and not a mixture of Debian/Raspbian).
The other PR is about correcting the Raspbian specific part. I have checked the .deb package content and there is the /etc/bash_completion.d/docker file which is used for Bash completion. There was also other erroneous statement which I have corrected (after double checking them of course) :-)

@jcberthon I'll take a look for sure! 😎

The series of PR that followed the PR which stated it fixes this issue have done the countrary to solve that issue.
As far as I can tell from #2966 is that neither the script nor the old repository URL are long term solutions for Raspbian. So either the documentation should recommend using the Debian for armhf solution or another one. But currently as far as I understood, the installation steps for Raspbian should be considered deprecated.
Cc: @londoncalling (maybe you could reopen the issue in order for the right people to discuss that point and decide what is the proper fix. I cannot propose a PR because I cannot conclude anything from the discussion on #2966)

authors: NonCreature0714 jcberthon londoncalling sandor-juhasz


text:
Publish updates from master

Publish the latest changes from master

@StefanScherer PTAL


text:
Update rails docker-compose example to use newer rails/ruby

Proposed changes
This PR updates the rails compose example to work with the newest version of Rails and Ruby. This includes instructions for installing javascript dependencies with yarn (now expected by default in vanilla RoR projects).

Deploy preview for docsdocker ready!
Built with commit f35c38c489533245ed3284db27a404f53d6ef23e
https://deploy-preview-9791--docsdocker.netlify.com

authors: GordonTheTurtle barrettkingram


text:
docker pull very slow

to pull an image from the hub it took me more than 10 min to start the download
$ docker pull mariadb
Using default tag: latest

and then 10 min later the download started
Pulling repository docker.io/library/mariadb
f2485761e714: Download complete
2c49f83e0b13: Download complete
4a5e6db8c069: Download complete
b904e5f284a2: Download complete
571f56941259: Download complete
e71435737ec6: Download complete
d37810146820: Download complete
9116f484947a: Download complete
31fd552b042a: Download complete
5f5ad2af7d54: Download complete
b85c76dcc7de: Download complete
ba5061a5fed7: Download complete
350e423587c6: Download complete
88f2c0aac2dc: Download complete
8bbb4b4237b4: Download complete
Status: Downloaded newer image for mariadb:latest

$ docker info
Containers: 0
Images: 28
Storage Driver: devicemapper
 Pool Name: docker-8:4-23597289-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.838 GB
 Data Space Total: 107.4 GB
 Data Space Available: 104.5 GB
 Metadata Space Used: 3.011 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.144 GB
 Udev Sync Supported: false
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.6-1-ARCH
Operating System: Arch Linux
CPUs: 4
Total Memory: 7.76 GiB
Name: localhost
ID: VBUH:BDN4:QKAH:MA7S:LQOG:RGWT:YMTN:VOKI:JFLO:GBBB:XISV:FWZN

$ docker version
Client:
 Version:      1.8.2-rc1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   28220ac
 Built:        Thu Sep  3 18:28:47 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.2-rc1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   28220ac
 Built:        Thu Sep  3 18:28:47 UTC 2015
 OS/Arch:      linux/amd64

$ uname -a
Linux localhost 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux

whats wrong ?

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

I'm seeing the exact same issue on 1.8.1 and 1.9.0-dev on CentOS 7 kernel 3.10.0

Are you both having this issue on a particular image, or "any" image? Do the log files show anything interesting?

sadly, any image. Even the alpine:3.2 image shows this behavior. Logs aren't helping, sorry.

@M-Samoht we tracked this down to being an MTU issue. Our EC2 instance was receiving a 9001 mtu, and since we block ICMP this leads to incredible slow (and unreliable) throughput. Changing to 1500 made things behave like one would expect.
14:25:16.431899 IP 10.200.18.1 > 10.200.25.166: ICMP 1.2.3.4 unreachable - need to frag (mtu 1500), length 584

So, is this good to close? Or are there improvements to be made in Docker (does it need additional documentation?)

yep, looks like an issue on the user-side of things :) not specific to docker.

@M-Samoht I'm going to close this issue, but feel free to comment here if you think I closed by mistake . Thanks!

authors: GordonTheTurtle M-Samoht harmw thaJeztah

repo: docker/docker


text:
Container restart policies may fail on linked containers after engine restart

Description of problem: When running several linked containers with --restart=always, some containers may not come back up after an engine restart.
docker version:
Client:
 Version:      1.9.0-rc1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   9291a0e
 Built:        Wed Oct 14 03:04:22 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.0-rc1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   9291a0e
 Built:        Wed Oct 14 03:04:22 UTC 2015
 OS/Arch:      linux/amd64

Experienced on at least 1.6.2, 1.8.2, 1.8.3 as well.
docker info:
Containers: 37
Images: 409
Engine Version: 1.9.0-rc1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 485
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-39-generic
Operating System: Ubuntu 14.04.1 LTS
CPUs: 2
Total Memory: 1.955 GiB
Name: vagrant-ubuntu-trusty-64
ID: 3YCN:IHBG:FR4D:TDIK:EL4I:YIIY:YUSE:BX73:DTYO:JQOO:A7HL:ZNK2
Username: brianbland
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

uname -a:
Linux vagrant-ubuntu-trusty-64 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Environment details (AWS, VirtualBox, physical, etc.):
Ubuntu 14.04 VirtualBox (vagrant)
How reproducible:
Seems to happen ~1/3 of the time when running Docker Trusted Registry (1.0 - 1.3.3), but I have been unable to find a simpler container configuration that commonly reproduces this issue
Steps to Reproduce:

Install/run Docker Trusted Registry: docker run docker/trusted-registry:1.3.3 install | bash
Restart the engine: service docker restart

Actual Results:
$ docker ps -q | wc -l
6
$ sudo service docker restart
docker stop/waiting
docker start/running, process 31683
$ docker ps -q | wc -l
6
$ sudo service docker restart
docker stop/waiting
docker start/running, process 32127
$ docker ps -q | wc -l
4

The two containers that did not restart were linked to other containers in this stack.
Expected Results:
All of the containers running before the engine restart are once again running.
Additional info:
Relevant engine logs:
Waiting for /var/run/docker.sock
INFO[0000] API listen on /var/run/docker.sock
INFO[0000] [graphdriver] using prior storage driver "aufs"
INFO[0000] Firewalld running: false
WARN[0000] Your kernel does not support swap memory limit.
/var/run/docker.sock is up
INFO[0000] Loading containers: start.
...............................ERRO[0000] Failed to load container b68e5d0a08034373459bd7ab7a88e67773887b778a912ae5eda7f0f145e1a5f2: open /var/lib/docker/containers/b68e5d0a08034373459bd7ab7a88e67773887b778a912ae5eda7f0f145e1a5f2/config.json: no such file or directory
...........................................................WARN[0000] Could not connect container 7aca6e27e3950064df00fb2dfb630360e69457410426f87693b1d42fb4e7876a : nosuchcontainer: no such id: 28dcf8584e35003d559ff1166cae820e5e8a43400adb7057e88d10f5f4c2c640
ERRO[0000] failed to umount /var/lib/docker/containers/7aca6e27e3950064df00fb2dfb630360e69457410426f87693b1d42fb4e7876a/shm: invalid argument
ERRO[0000] failed to umount /var/lib/docker/containers/7aca6e27e3950064df00fb2dfb630360e69457410426f87693b1d42fb4e7876a/mqueue: invalid argument
ERRO[0000] 7aca6e27e3950064df00fb2dfb630360e69457410426f87693b1d42fb4e7876a: Failed to umount ipc filesystems: failed to cleanup ipc mounts:
invalid argument
invalid argument
ERRO[0000] Failed to start container 7aca6e27e3950064df00fb2dfb630360e69457410426f87693b1d42fb4e7876a: nosuchcontainer: no such id: 28dcf8584e35003d559ff1166cae820e5e8a43400adb7057e88d10f5f4c2c640
ERRO[0000] failed to umount /var/lib/docker/containers/7191c0055251105be6c21645badc9848124a0caab5e4b7200a8fa914d1ec7929/shm: invalid argument
ERRO[0000] failed to umount /var/lib/docker/containers/7191c0055251105be6c21645badc9848124a0caab5e4b7200a8fa914d1ec7929/mqueue: invalid argument
ERRO[0000] 7191c0055251105be6c21645badc9848124a0caab5e4b7200a8fa914d1ec7929: Failed to umount ipc filesystems: failed to cleanup ipc mounts:
invalid argument
invalid argument
ERRO[0000] Failed to start container 7191c0055251105be6c21645badc9848124a0caab5e4b7200a8fa914d1ec7929: linknotrunning: Cannot link to a non running container: /docker_trusted_registry_admin_server AS /docker_trusted_registry_load_balancer/admin_server

INFO[0000] Loading containers: done.
INFO[0000] Daemon has completed initialization
INFO[0000] Docker daemon                                 commit=9291a0e execdriver=native-0.2 graphdriver=aufs version=1.9.0-rc1

Is this a regression from 1.8.x?

No, this behavior was seen in 1.8.2 and 1.6.2 as well.

I'm pretty sure there have never been guarantees to prevent linked containers from starting before their parents. However, before 1.7, containers started in order, which might have given the false perspective of starting in the right order. We change the restarting logic in 1.7 to start all containers in parallel, allowing plugin containers to boot without being blocked by those containers that depend on the plugins. This change might have made this bug more prominent.
All in all, I don't think we should add this to 1.9, or maybe we should not fix it at all. AFAIK, you can probably stop using links in favor of the new networking stack.

I also get this all the time on 1.9.1. Plus is this a duplicate of #17611?

I didn't have this issue before, but started experiencing it after setting up docker on a new server. The error shown is:

Error response from daemon: Cannot restart container some_container_name: Cannot link to a non running container: /postgres AS /some_container_name/postgres

However, the postgres container is running and actively used by other containers without problems.
$ docker version
Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 22:00:43 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 22:00:43 2016
 OS/Arch:      linux/amd64

$ docker info
Containers: 11
 Running: 11
 Paused: 0
 Stopped: 0
Images: 2313
Server Version: 1.11.2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 2740
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.4.0-22-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 11.73 GiB
Name: rs217328
ID: A7W2:3ZT4:H2EM:55BR:F7W6:QIZ3:HOKU:6MY5:6PMA:H52X:MC6G:7NBJ
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Username: pgrm
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

all containers are running with --retstart="always" and it hasn't been an issue before. The only way I can resolve it right now is to restart the server. Any ideas?

I am running node containers on my raspberrypi, and am facing the extreme opposite behavior: when the device reboots due to power outage, I see 3 or 4 different instances of the node container being restarted! The only work-around is do a 'docker rm -f XXXXX' on each running container, do a clean reboot, and then have the device functioning again.

I'm going to close this, as this was resolved in 1.10 where docker will defer starting any containers with it's links have been started.
In 1.11.2 it was also added to wait for the daemon discovery to be ready before trying to start containers (making sure overlay networking was ready).
Any other issue should be addressed separately, and indeed is most likely a configuration error, but happy to discuss on another issue.
Thanks all.

authors: BrianBland calavera cpuguy83 pgrm soulrebel talmai


text:
ZFS Graph Driver incompatible with user namespace support

Description of problem:
I have been looking at moving to using ZFS as a storage backend and am preparing to deploy user id namespacing to my production servers. Naturally I decided to run an experiment on using these awesome features together. No :game_die:. In IRC @estesp suggested I reference him as he'd likely be the one to fix it. The only remotely related issue I could find was #12648.
docker version:
Client:
 Version:      1.10.0-dev
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   69c381c
 Built:        Mon Feb  1 18:12:12 2016
 OS/Arch:      linux/amd64
 Experimental: true

Server:
 Version:      1.10.0-dev
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   69c381c
 Built:        Mon Feb  1 18:12:12 2016
 OS/Arch:      linux/amd64
 Experimental: true

docker info:
root@localhost:/vagrant# docker version
Client:
 Version:      1.10.0-dev
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   69c381c
 Built:        Mon Feb  1 18:12:12 2016
 OS/Arch:      linux/amd64
 Experimental: true

Server:
 Version:      1.10.0-dev
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   69c381c
 Built:        Mon Feb  1 18:12:12 2016
 OS/Arch:      linux/amd64
 Experimental: true
root@localhost:/vagrant# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 1.10.0-dev
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: zfs
 Dirs: 2
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: null host bridge
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.955 GiB
Name: localhost
ID: MCCO:LDLI:4CKJ:5CS5:KOW4:HBTZ:IJFE:YO3N:YQ4J:ZDFM:4YW4:L6AV
WARNING: No swap limit support
Experimental: true

uname -a
Linux localhost 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Environment details
Ubuntu 14.04 Virtualbox environment with one additional disk created.
Steps to reproduce:
To reproduce, I used vagrant to create a brand new environment on ubuntu 14.04. Then I ran the following:

# Install and configure ZFS as per https://docs.docker.com/engine/userguide/storagedriver/zfs-driver/
sudo -i
apt-get update
apt-get upgrade -y
apt-get install -y software-properties-common
add-apt-repository ppa:zfs-native/stable
apt-get update
apt-get install -y ubuntu-zfs
modprobe zfs
lsmod | grep zfs # This just validates zfs is up and running, of course.
zpool create -f zpool-docker /dev/sdb # Obviously YMMV depending on how you're attaching the disk
zfs list # Verify it exists
zfs create -o mountpoint=/var/lib/docker zpool-docker/docker
sudo zfs list -t all # Verify we see our volume and mount point

Install docker experimental as per https://github.com/docker/docker/tree/master/experimental
Unfortunately the documented approach didn't work for me (curl -sSL https://experimental.docker.com/ | sh), it seems the key server no longer can find this key.
Instead I ran:
echo 'deb [arch=amd64] https://apt.dockerproject.org/repo ubuntu-trusty experimental' > /etc/apt/sources.list.d/docker.list
curl https://apt.dockerproject.org/gpg > /tmp/docker.key
apt-key add /tmp/docker.key
apt-get update
apt-get install docker-engine -y
docker version
docker info
docker run hello-world

Here the documentation indicates that the zfs graph driver should be automagically selected, no dice - it knows we're backed by ZFS but picks aufs anyways.
root@localhost:~# sudo docker info
Containers: 1
Images: 2
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: zfs
 Dirs: 4
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 1
Total Memory: 1.955 GiB
Name: localhost
ID: TZTE:CQEN:R5AL:HBLS:5KPC:L6CI:SDHV:NNLW:L6U7:PA6Y:YLSM:E57A
WARNING: No swap limit support

So, I add this to `/etc/default/docker:
DOCKER_OPTS="--storage-driver=zfs"

and I restart docker with service docker restart.
Now we've got a functional ZFS backend.
root@localhost:~# docker info
Containers: 0
Images: 0
Server Version: 1.9.1
Storage Driver: zfs
 Zpool: zpool-docker
 Zpool Health: ONLINE
 Parent Dataset: zpool-docker/docker
 Space Used By Parent: 160768
 Space Available: 8256244224
 Parent Quota: no
 Compression: off
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 1
Total Memory: 1.955 GiB
Name: localhost
ID: TZTE:CQEN:R5AL:HBLS:5KPC:L6CI:SDHV:NNLW:L6U7:PA6Y:YLSM:E57A
WARNING: No swap limit support

Now we're functional and I can pull and run docker images:
root@localhost:~# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Pull complete
0a6ba66e537a: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

Now, I edit /etc/default/docker again and and update DOCKER_OPTS to be:
DOCKER_OPTS="--storage-driver=zfs --userns-remap=default"

Now I restart docker service docker restart.
Now trying to run anything in docker results in:
root@localhost:~# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.10.0-dev
Storage Driver: zfs
 Zpool: zpool-docker
 Zpool Health: ONLINE
 Parent Dataset: zpool-docker/docker
 Space Used By Parent: 98816
 Space Available: 8256252416
 Parent Quota: no
 Compression: off
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 3.16.0-30-generic
Operating System: Ubuntu 14.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.955 GiB
Name: localhost
ID: TZTE:CQEN:R5AL:HBLS:5KPC:L6CI:SDHV:NNLW:L6U7:PA6Y:YLSM:E57A
WARNING: No swap limit support
Experimental: true

root@localhost:~# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest
Timestamp: 2016-02-02 15:33:24.916003924 -0800 PST
Code: System error

Message: can't create pivot_root dir , error mkdir /var/lib/docker/165536.165536/zfs/graph/08111af5be598b934a672bdd26f544d43909bb68c1f2916f8138a706715ebbef/.pivot_root492998315: permission denied

Frames:
---
0: setupRootfs
Package: github.com/opencontainers/runc/libcontainer
File: rootfs_linux.go@69
---
1: Init
Package: github.com/opencontainers/runc/libcontainer.(*linuxStandardInit)
File: standard_init_linux.go@57
---
2: StartInitialization
Package: github.com/opencontainers/runc/libcontainer.(*LinuxFactory)
File: factory_linux.go@240
---
3: initializer
Package: github.com/docker/docker/daemon/execdriver/native
File: init.go@35
---
4: Init
Package: github.com/docker/docker/pkg/reexec
File: reexec.go@26
---
5: main
Package: main
File: docker.go@18
---
6: main
Package: runtime
File: proc.go@111
---
7: goexit
Package: runtime
File: asm_amd64.s@1721
docker: Error response from daemon: Container command could not be invoked.

If I edit /etc/defaults/docker and set opts back to DOCKER_OPTS="--storage-driver=zfs" and re-run the hello-world image I get:
root@localhost:/etc/default# docker run hello-world

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

Thanks for the bug report. The bug is fairly straightforward--even though the mapping of file ownership based on the user namespace map is happening when the layers are pulled from a registry, the root directory that they are placed in still has root:root ownership.  In other storage drivers this directory would be created with the remapped root ownership, but in ZFS, this (I believe) is created via calls to ZFS, and I'm trying to figure out how to fix it properly. If I use mount on a simple single-layer image by pulling it (e.g. docker pull alpine), finding it's zpool name, and mounting it manually, I can change the ownership of that root directory, and then that particular image works fine:
root@dev1404:/# zfs list -t all
NAME                                                                                USED  AVAIL  REFER  MOUNTPOINT
zpool-docker                                                                          5.37M   443M    19K  /zpool-docker
zpool-docker/docker                                                                   5.23M   443M   196K  /var/lib/docker.zfs
zpool-docker/docker/e859e33a39acd29d232f5e4ff1c7534e1204967f27b4c99031450fd3633f1240  5.04M   443M  5.04M  legacy
root@dev1404:/# mkdir /tmp/alpine
root@dev1404:/# mount -t zfs zpool-docker/docker/e859e33a39acd29d232f5e4ff1c7534e1204967f27b4c99031450fd3633f1240 /tmp/alpine/
root@dev1404:/# cd /tmp/alpine/
root@dev1404:/tmp/alpine# ls -al
total 35
drwxr-xr-x 17 root   root      18 Feb  5 13:22 .
drwxrwxrwt  8 root   root   16384 Feb  5 13:52 ..
drwxr-xr-x  2 231072 231072    81 Jan 16 21:35 bin
drwxr-xr-x  4 231072 231072     4 Jan 16 21:35 dev
...
root@dev1404:/tmp/alpine# chown 231072:231072 .
root@dev1404:/tmp/alpine# ls -al
total 35
drwxr-xr-x 17 231072 231072    18 Feb  5 13:22 .
drwxrwxrwt  8 root   root   16384 Feb  5 13:52 ..
drwxr-xr-x  2 231072 231072    81 Jan 16 21:35 bin
drwxr-xr-x  4 231072 231072     4 Jan 16 21:35 dev
...
root@dev1404:/tmp/alpine# cd
root@dev1404:~# umount /tmp/alpine

Now that I've fixed the root dir to be owned with the remapped root uid:gid, I can run the alpine image  without error:
estesp@dev1404:~$ docker run -ti --rm alpine /bin/sh
/ # ls -al
total 20
drwxr-xr-x   17 root     root            20 Feb  5 18:52 .
drwxr-xr-x   17 root     root            20 Feb  5 18:52 ..
-rwxr-xr-x    1 root     root             0 Feb  5 18:52 .dockerenv
-rwxr-xr-x    1 root     root             0 Feb  5 18:52 .dockerinit
drwxr-xr-x    2 root     root            81 Jan 17 02:35 bin
drwxr-xr-x    5 root     root           380 Feb  5 18:52 dev
...

Seems like the fix can be done in the ZFS storage driver, but still digging..

I've figured out a way to fix it, although I wish there was a way to set the root dir ownership up at file creation time..

authors: estesp tizzo


text:
--format trims one char from {{.Names}} each time it is used

Output of docker version:
$ docker version
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.6
 Git commit:   20f81dd
 Built:        Mon, 04 Apr 2016 16:27:28 +1200
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.6
 Git commit:   20f81dd
 Built:        Mon, 04 Apr 2016 16:27:28 +1200
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 7
 Running: 1
 Paused: 0
 Stopped: 6
Images: 91
Server Version: 1.10.3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 88
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: null host bridge
Kernel Version: 4.4.0-16-generic
Operating System: Ubuntu 16.04
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.65 GiB
Name: plata
ID: OERF:H3PM:YRZA:W34S:LM4N:QN2S:AYF4:QYYG:DFZV:JPKW:WROU:6LBO
WARNING: No swap limit support

Additional environment details (AWS, VirtualBox, physical, etc.):
Physical machine, but this issue has happened on several other machines I have tested on running on different OSes and different Docker versions.
Steps to reproduce the issue:

Run this script:

docker ps --format="
1  Names:  {{.Names}}
2  Names:  {{.Names}}
3  Names:  {{.Names}}
4  Names:  {{.Names}}
5  Names:  {{.Names}}
6  Names:  {{.Names}}
7  Names:  {{.Names}}
8  Names:  {{.Names}}
"

Describe the results you received:
Output of the above script on a machine with one container:
1  Names:  bitlbee
2  Names:  itlbee
3  Names:  tlbee
4  Names:  lbee
5  Names:  bee
6  Names:  ee
7  Names:  e
8  Names:

This behavior does not occur with the other available format vars.

that's pretty funny  :-)

Still able to reproduce this on 1.11.0-rc3

/cc @calavera

Could possibly be this; https://github.com/docker/docker/blob/3d13fddd2bc4d679f0eaa68b0be877e5a816ad53/api/client/formatter/custom.go#L231-L237

@thaJeztah yes that's it

let me have a quick look if I can fix it

@thaJeztah I just opened a possible fix in #21783

Closed by #21783

authors: danielhoherd duglin thaJeztah vieux


text:
Suggested change to 'run' command help

The current text:

when that variable’s current value is passed through (i.e. $MYVAR1 from the host is set to $MYVAR1 in the container).

could be usefully be changed to:

when that variable’s current value, set via export, is passed through (i.e. $MYVAR1 from the host is set to $MYVAR1 in the container, where export MYVAR1="foo" was used).

Would you be interested in contributing, and opening a pull request? The Markdown file used to generate that page in the documentation can be found here;
https://github.com/docker/docker/blob/master/docs/reference/commandline/run.md

Hi @thaJeztah , I am a beginner in OSS contribution and would like to start with something small like this. Can I call dibs on this one?

@mansinahar absolutely! You may be interested in our contributors guide, which explains the process https://docs.docker.com/opensource/workflow/make-a-contribution/

You snooze, you lose... :(

Thank you @thaJeztah and sorry @gamesbook!

#dibs

@gamesbook haha, sorry! But.... there's lots of other issues that may still require documentation PR's https://github.com/docker/docker/labels/kind%2Fdocs :smile:

PR: https://github.com/docker/docker/pull/22768

authors: gamesbook mansinahar thaJeztah


text:
Swarm mode services cannot publish ports as both TCP and UDP

Description
Docker swarm mode services cannot publish a port using both the TCP and UDP protocols.
Steps to reproduce the issue:

Create a swarm mode cluster.
Run: docker service create --name test -p 10000:10000 -p 10000:10000/udp alpine sleep 100000

Describe the results you received:
Error response from daemon: rpc error: code = 3 desc = EndpointSpec: duplicate published ports provided
Describe the results you expected:
The service should have been created with port 10000 mapped for both TCP and UDP.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 18:29:41 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   bb80604
 Built:        Tue Oct 11 18:29:41 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 6
 Running: 3
 Paused: 0
 Stopped: 3
Images: 4
Server Version: 1.12.2
Storage Driver: overlay2
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay bridge null host
Swarm: active
 NodeID: 57efxfpx4yqzx3vha67pmv998
 Is Manager: true
 ClusterID: 4oabtzwdobpc29fioqyzt49kt
 Managers: 1
 Nodes: 4
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: 10.0.1.30
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-43-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.851 GiB
Name: manage-0
ID: CMHY:WEPP:RVWT:KJIP:RZ5G:ZIZH:FL2V:CENO:UISY:WVUM:NMF2:XPMV
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
 127.0.0.0/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on Windows 10 on a local Hyper-V cluster of Ubuntu-16.04 VMs.

I think this has just been fixed in https://github.com/docker/swarmkit/pull/1632

Thanks: Very cool!
I'll have to figure out how to get the latest unstable bits and try it out.  Do you happen to know whether I can find these at http://test.docker.com or will I need to build this myself?

@jefflill Sorry I wasn't clear. The fix was just pushed to the swarmkit branch, but was not ported to docker/docker yet. When this is done via a vendoring PR, this issue can be closed.
So current docker build, does not have the fix yet.

OK.  Thanks.

i'll reopen as it's not fixed in docker/docker yet

authors: aboch jefflill thaJeztah


text:
In with the old menu layout

We couldn't come to an agreement on how to organize the menus. Since Fred was planning on user testing the result, there was the potential that whatever we came up with tonight, would change again.  So, rather than spin wheels coming up with something that could be tested and subsequently changed, we will go out with the old menu structure. Registry is down in Reference.
See proposed prototype here: http://52.10.125.146:8000/reference/commandline/cli/
Signed-off-by: Mary Anthony mary@docker.com

ping @fredlf @SvenDowideit @jamtur01 @spf13 can I get an LGTM on this new/old layout please :-D
ping @bfirsh @dmp42 @stevvooe this is what we are going out with

ok, LGTM - we can worry about correctness later.

LGTM

Was getting a burrito, but LGTM too!
FWIW, with the new IA, some major sections will have landing/ToC pages so it will be easier to keep links to previous version docs without cluttering up menus.

authors: SvenDowideit fredlf jamtur01 moxiegirl


text:
nsexec: Align clone child stack ptr to 16

This is required when running Docker on ARM64 platforms so that clone syscall doesn't fail. Check [1].
[1] http://lxr.free-electrons.com/source/arch/arm64/kernel/process.c#L264
Signed-off-by: Bogdan Purcareata bogdan.purcareata@freescale.com

@dodgerblue thanks for this, though, this is not the right way to update code in libcontainer. To address what's your fixing here you have to make a PR against https://github.com/opencontainers/runc first (which is where libcontainer code resides). If the patch is accepted there you can then bump libcontainer vendor here with your changes.

I'm gonna close this but feel free to ping me anytime if you need any help/something

Thanks a lot, @runcom, for the fast reply! Will follow through with the PR over opencontainers/runc and come back to you.

authors: dodgerblue runcom


text:
refactor function getDockerOS() in file github.com/docker/docker/vend…

- What I did
refactor function “getDockerOS()” in file github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/image_build.go
- How I did it

remove the local variable -- ”var osType string“

refactor the statement "if len(matches) > 0 {osType = matches[1]}", because of  when len(matches) == 1 , it will throw exception (index out of range)

- How to verify it
local unit test

- Description for the changelog

refactor the statement "if len(matches) > 0 {osType = matches[1]}", because of  when len(matches) == 1 , it will throw exception (index out of range). More Robust !!!
- A picture of a cute animal (not mandatory but encouraged)
…or/src/github.com/docker/engine-api/client/image_build.go
Signed-off-by: yuanxiao yuan.xiao5@zte.com.cn

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "zte_developer" git@github.com:yuanxiaoaini/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

OK Thank you
==============================================================
袁肖 SINGHAM XIAO 通信协议研发工程师
虚拟化上海一部 Virtual Dept.1 In ShangHai
上海市浦东新区张江高科技园区碧波路889号
NO.889, Bibo Rd，Zhangjiang，ShangHai
T: +86 021-6889-5960
M: +86 185-2109-6523
E: yuan.xiao5@zte.com.cn
==============================================================
发件人:         Gordon notifications@github.com
收件人:         docker/docker docker@noreply.github.com,
抄送:   Yuanxiao yuan.xiao5@zte.com.cn, Author
author@noreply.github.com
日期:   2016-07-14 11:19
主题:   Re: [docker/docker] refactor function getDockerOS() in file
github.com/docker/docker/vend… (#24619)
Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "zte_developer" git@github.com:yuanxiaoaini/docker.git
somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f
Ammending updates the existing PR. You DO NOT need to open a new one.
―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

ZTE Information Security Notice: The information contained in this mail (and any attachment transmitted herewith) is privileged and confidential and is intended for the exclusive use of the addressee(s).  If you are not an intended recipient, any disclosure, reproduction, distribution or other dissemination or use of the information contained is strictly prohibited.  If you have received this mail in error, please delete it and notify us immediately.

authors: GordonTheTurtle yuanxiaoaini


text:
Add Support for Service Task Logs

This PR probably needs a docs update too. I'm gonna wait until it passes design review before I update the docs
- What I did
Refactored the API to more easily accept new endpoints. Added REST, client, and CLI endpoints for getting logs from a specific task. All that is needed after this commit to enable arbitrary service log selectors is a REST endpoint.
Added a --task flag to docker service logs to get logs for a specific task.
- How I did it
Refactored a bunch of code, added a couple of new endpoints.
- How to verify it
Added a new integration test. You can also try running docker service logs --task [taskid].
- Description for the changelog
Added docker service logs --task command and /task/{id}/logs REST endpoint.
- A picture of a cute animal (not mandatory but encouraged)

/cc @aluzzardi

related: https://github.com/docker/docker/pull/29307
cc @stevvooe @aluzzardi @dnephin

I'm not sure the right options for the CLI UI. What I've presented is my best effort as to what I think is correct. Ideally I'd like to support any arbitrary combination of task/service/node logs to reflect what the swarmkit GRPC can do with log selectors. However, that concept DOES NOT map to the existing REST API paradigm, and, by extension, to the CLI.
Someone is going to come in here, like the last PR about this, and suggest that we do like filters or whatever and I agree with you but I'm really boxed in by the REST paradigm, which is not conducive to arbitrary selectors like GRPC API is. We'd need an extra API endpoint that does have the format /service/{id}/logs, like maybe /swarm/logs?service=wombo&task=combo which DOES map to the LogSelector. That's part of what I've enabled by making that getSwarmLogs() handler like it is; we can just add a new route when we decide what we want that route should be named.
I'm going to alter the CLI to have the pattern docker service logs SERVICE|TASK, no flags. If you want something better, fight me with your PRs. Both fox no items final destination.

Fixed the CLI UI. Fixed the tests.

LGTM

@dnephin Moved service log handling to a selector as suggested.

Minor comments, overall LGTM

@aluzzardi fixed nits

@vdemeester fixed.

@dperny can you update the documentation ? (at least the API doc to add the endpoint)

I would like to do so but I am unclear on how to go about it.

you need to edit api/swagger.yaml you can look at service logs for inspiration :P

updated api/swagger.yml to reflect task logs. The updated API documentation may not be totally correct (it is copied from service logs, which is also not totally correct for pre-existing reasons) and will need to be updated again before service logs are moved out of experimental.

LGTM

@dnephin fixed concerns.

@dnephin actually fixed all the concerns the right way this time.

@dperny I think the error is legit

Forgot to strip a trailing newline, it's fixed now.

LGTM 👍

ping @dperny erm;

Added docker service logs --task command and /task/{id}/logs REST endpoint.

Looks like the --task flag is not part of this PR, correct?
Also, can you open a pull request to add a mention of this endpoint to the API changelog; https://github.com/docker/docker/blob/master/docs/api/version-history.md#v129-api-changes ?

@thaJeztah Yes, the --task part of this was dropped. Sorry about that. I'll edit the original PR message.

Yes, the --task part of this was dropped. Sorry about that. I'll edit the original PR message.

Thanks! I was confused for a bit, couldn't find the flag LOL

authors: AkihiroSuda aluzzardi cowlicks dperny thaJeztah vieux


text:
Too many issues

Project looks uncared for. Devs like this should surely be able to string some docker containers together I thought that was the whole point, I have lost count of how many hours lost thinking I must be missing something when in fact it's just broken, can't exactly expect customer support or a fully functional stack if it's free, just like all us bug testers and solution providers are free.

I've added a bunch of fixes here: https://github.com/docker/genai-stack/pull/184

Tested the stack and it works like a charm.

authors: ajeetraina linuxreitt tomasonjo

repo: docker/genai-stack


text:
Run InfraKit on Windows

when building for Windows (which works), the executable files in build should have the .exe extension
Named pipe should be supported in addition to unix socket:

time="2016-11-09T07:50:20-08:00" level=info msg="Listening at: C:\\Users\\Michael Friis/.infrakit/plugins/group"
time="2016-11-09T07:50:20-08:00" level=error msg="listen unix C:\\Users\\Michael Friis/.infrakit/plugins/group: socket: An address incompatible with the requested protocol was used."

Some relevant discussion in #214

For this it probably makes more sense to go with named pipe on Windows  https://github.com/natefinch/npipe
TCP support #214 is related but should be focused on 'consuming' SPI providers that exposes a JSON-RPC endpoint (say a custom instance provisioning system), rather than allowing the binaries we provide to listen on TCP ports.

@chungers i was not suggesting restoring TCP support, just pointing to context.  In particular, this line from the issue description:

TCP support is primarily offered as a lowest-common denominator for Windows, but we should look to named pipes for a closer analog.

authors: chungers friism wfarner

repo: docker/infrakit