sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: go
Issue: cmd/go,cmd/cgo: link-time symbol resolution for buildmode=c-shared
Labels: NeedsInvestigation,GoCommand,compiler/runtime

version:

```
$ go version
go version go1.5 linux/amd64
```

I'm working with a software that loads plugins structured as follows. Plugins implement an interface, and the main program provides an API, so a typical call stack might look like:

```
main_program_function()
\_ plugin_function()
   \_ main_program_other_function()
```

Up to now, the main program and the plugins are written in C. I was eager to see if I could start building plugins in Go instead of C, now that 1.5 is out, so I gave it a try with something that looks like:

``` go
package main

// #include "main_program_api.h"
import "C"

//export plugin_function
func plugin_function() {
   C.main_program_other_function()
}

func main () {
 // unused
}
```

Unfortunately, this fails with:

```
./plugin.go:8: undefined reference to `main_program_other_function'
```

Ian Lance Taylor suggested I pass '--unresolved-symbols' to the linker as a work around. I verified that that works as expected, both when passed via the command line:

```
CGO_LDFLAGS="-Wl,--unresolved-symbols=ignore-all" go build -buildmode=c-shared 
```

or via the code

``` go
// #cgo LDFLAGS: -Wl,--unresolved-symbols=ignore-all
```
Repository: kubernetes
Issue: Deprecate Kubelet Read-only port
Labels: priority/backlog,area/security,kind/cleanup,sig/node,priority/important-longterm,lifecycle/frozen

There are some voices that it's no longer necessary/won't be necessary for original purpose, as Heapster is/will be using secured port to scrape cAdvisor data. @roberthbailey @vishh @bgrant0607.

On the other hand with @fgrzadkowski we used it to debug some problems Filip was having, so it isn't completely useless.

@dchen1107 @yujuhong - any thoughts?
Repository: opencv
Issue: Python bindings naming convention and packaging
Labels: priority: normal,feature,category: build/install,affected: 3.4,RFC

I've been working on creating automated builds (using [conda](http://conda.pydata.org/docs/)) of [OpenCV2](https://github.com/menpo/conda-opencv) and [OpenCV3](https://github.com/menpo/conda-opencv3). In particular, I am only really interested in the Python bindings. However, I have a couple of questions about the design decisions for OpenCV's Python bindings:
### `cv2.so` is just dropped inside the Python `site-packages` folder

I don't think that this is good practise. It goes against standard Python packaging principles and dirties the contents of the `site-packages` folder. However, I also have a concrete complaint: on Windows, due to the way shared library loading is achieved, we need to drop all the `opencv*.dll` next to the `cv2.so` module. However, if another poorly packaged project also requires being dropped in the root of `site-packages`, and binds to opencv using C-extensions, it will also need these DLLs. As I mentioned, I'm trying to make automated builds, and this becomes very difficult if every project needs to start dumping files into the same folder, some of which may overwrite each other. Not to mention the fact that removing a package may involve cleaning up dependencies, which would include the aforementioned DLLs (breaking other packages that might rely on them). Therefore, **why not place the `cv2.so` inside a small Python package that just exposes all the same top level modules/methods?** This would have the advantage of isolating all the dependencies and also allow easy shipping of companion pure Python code with OpenCV, if this was ever needed.
### OpenCV2 and OpenCV3 both use `cv2` as their namespace

This one seems particularly crazy to me. Since OpenCV3 deprecated the `cv2.cv` module, which some people require, OpenCV3 is not a drop in replacement for OpenCV2. Which is fine, as long as the two are namespaced separately... but they are not. **Why was OpenCV3 not given a new package name, such as `cv3`?** At the moment, if someone installs OpenCV3 over OpenCV2, they will lose their OpenCV2! This seems very strange to me. If the whole point of the major version change was to denote breaking, non-backwards compatible changes, why would you keep the same namespace? This is further aggravated by the problem mentioned above, in that the `cv2.so` will literally get overwritten if OpenCV3 is installed after OpenCV2 and vice-versa.

As I said, I mostly just wanted to discuss the rationale behind these points. I understand that I do not represent a core contributor, but OpenCV is an amazing project and a massive boon to the Python community. Therefore, I would love to help steer it in a direction that made it more accessible to even more Python developers by providing easy to install automated builds.
Repository: opencv
Issue: Not determenistic behaviour of flann on android smartphone
Labels: bug,priority: normal,affected: 2.4,affected: 3.4,category: flann

I'm using the HierarchicalClusteringIndex from the flann module for image recognition. The image features are computed with ORB.
 On my Linux desktop computer (Ubuntu 14.04) everything works fine. On my Android smartphone (Galaxy Nexus, Android 4.3) the knnSearch via "findNeighbors" yields to different results after each restart of the application. I tested on a Galaxy S3 in addition, the problem stays the same.
This case occurs both with OpenCV 2.4.X and OpenCV 3.0.

Here are parts of the code to reproduce:

``` cpp
    // init flann index
    cvflann::Matrix<unsigned char> m_features(words.data, words.rows, words.cols);
    Ptr<cvflann::HierarchicalClusteringIndex<cvflann::Hamming<unsigned char> > > kdIndex =
            new cvflann::HierarchicalClusteringIndex<cvflann::Hamming<unsigned char> >
                (m_features,cvflann::HierarchicalClusteringIndexParams(10));
    kdIndex->buildIndex();

    // prepare knn-queries
    vector<int> indices(1);
    vector<int> dists(1);

    cvflann::KNNResultSet<int> m_indices(1);
    m_indices.init(indices.data(),dists.data());

    for(int i = 0; i < query.rows; ++i){
        Mat row = query.row(i);
        // perform knn-query
        kdIndex->findNeighbors(m_indices, row.ptr<unsigned char>(0), cvflann::SearchParams(8));
    }
```

where words is an Mat-object with 100 000 rows and 32 columns and type CV_8U. It is used as visual vocabulary. query is Mat-object that consists of image descriptors computed with ORB.
Repository: go
Issue: runtime: revisit non-constant assist ratio
Labels: compiler/runtime

Currently we compute a conservative assist ratio that assumes the entire heap is reachable in order to prevent heap overshoot caused by underestimating. Unfortunately, this means we usually over-assist (by a factor of ~2 in steady state). This causes the GC cycle to finish below the heap goal and with high CPU utilization. This is okay to do for a few cycles, but the unfortunate part is that it's a stable state for the trigger controller, so we keep doing this (it scales the heap growth by the overutilization factor and finds that it would have been right on target with 25% utilization, so it doesn't change the trigger).

One solution we talked about early in the pacer development, but never put together a concrete design for, was to adjust the assist ratio as we approached the heap goal. This means the mutator may assist more toward the end of the cycle, but it will let us target the heap goal more precisely (sort of a "mid-flight correction"). We need to consider how to do this without allowing overshoot and without putting too much assist strain on the end of the cycle (which increases mutator latency). We also need to consider whether this affects how we compute the trigger error, which currently assumes linearity.

/cc @RLH
Repository: neovim
Issue: PCRE regex support
Labels: enhancement

I'm not asking for https://github.com/neovim/neovim/issues/304 , or even the "refactoring regex matching to a swappable plugin" suggestion within there. As much as I would love that, it seems to me that would either be a headache to plugin writers who'll need to check which style user has and duplicate their regexes, or end up splitting plugins into those usable with vim-regex and those that use PCRE. 

My suggestion is to allow PCRE style regular expressions entirely optionally and distinctly from the existing vim-regex matching, so that mere mortals who do not grok vim-re can more easily write and edit regex matches in vim. It need not interfere with current syntax at all, and perhaps could be just functions like `pcre_match(str, pat)` (equivalent to `str =~ pat` except for using PCRE syntax in pat), and `pcre_substitute(str, pat, sub, flags)` (equivalent to `substitute`, with PCRE syntax in pat). 

Currently, this can sort-of be achieved with external plugins like https://github.com/othree/eregex.vim using its `E2v` function that converts PCRE-regexes into vim-style regexes, but 
(1) it is an external dependency
(2) there are load order issues - only those plugins that load after eregex.vim can use its functions, and crucially, users can't use it in vimrc itself unless you do something hacky like prefix every statement with `au VimEnter`. 
(3) perhaps most important of all, using `E2v` repeatedly means taking a potentially enormous performance hit, since every regex has to be first parsed character by character by eregex and then transformed into vim-regex textually, after which the actual matching begins. 

So, having a PCRE engine within neovim directly and being able to use it by explicit choice would be a big usability improvement for a lot of us.
Repository: youtube-dl
Issue: Get a list of all playlist and descriptions from a channel
Labels: request

Hello,

I am trying to create a podcast from a channel.

Is there a way to get a list of all playlists from a channels (e.g. in the same way we get a list of videos from a playlist) ?

And continuing on that, is there a way to get the playlist description?

-rsd
Repository: go
Issue: cmd/link: combining dwarf on darwin can be very slow
Labels: help wanted,ToolSpeed,NeedsFix,early-in-cycle

I'm noticing ~15x increase in build time when switched to go 1.5.
It is somehow connected with a package github.com/ry/v8worker - binding for v8 javascript engine.
I'm building on OS X.

This is a trivial program:

``` go
package main
import _ "github.com/ry/v8worker"

func main() {
}
```

**1.4** build time:
real    0m1.075s
user    0m0.964s
sys 0m0.108s

**1.5** build time:
real    0m16.816s
user    0m16.225s
sys 0m1.226s

Go 1.5 spends almost all of the time on the **link** step:
/usr/local/Cellar/go/1.5/libexec/pkg/tool/darwin_amd64/link -o $WORK/slow_build/_obj/exe/a.out -L $WORK -L /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -extld=clang++ -buildmode=exe -buildid=14ca37ec220e553c7bf9829fe97751df5a041f5f $WORK/slow_build.a

**1.4 output for: time go build -v -x**
WORK=/var/folders/dx/p9b300dd27dcbqcrz0h9kn800000gn/T/go-build829145301
slow_build
mkdir -p $WORK/slow_build/_obj/
mkdir -p $WORK/slow_build/_obj/exe/
cd /Users/ianic/work/web/src/golang/src/slow_build
/usr/local/Cellar/go/1.4.2/libexec/pkg/tool/darwin_amd64/6g -o $WORK/slow_build.a -trimpath $WORK -p slow_build -complete -D _/Users/ianic/work/web/src/golang/src/slow_build -I $WORK -I /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -pack ./main.go
cd .
/usr/local/Cellar/go/1.4.2/libexec/pkg/tool/darwin_amd64/6l -o $WORK/slow_build/_obj/exe/a.out -L $WORK -L /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -extld=clang++ $WORK/slow_build.a
mv $WORK/slow_build/_obj/exe/a.out slow_build

real    0m1.075s
user    0m0.964s
sys 0m0.108s

**1.5 output for: time go build  -v -x**
WORK=/var/folders/dx/p9b300dd27dcbqcrz0h9kn800000gn/T/go-build145414805
slow_build
mkdir -p $WORK/slow_build/_obj/
mkdir -p $WORK/slow_build/_obj/exe/
cd /Users/ianic/work/web/src/golang/src/slow_build
/usr/local/Cellar/go/1.5/libexec/pkg/tool/darwin_amd64/compile -o $WORK/slow_build.a -trimpath $WORK -p main -complete -buildid 14ca37ec220e553c7bf9829fe97751df5a041f5f -D _/Users/ianic/work/web/src/golang/src/slow_build -I $WORK -I /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -pack ./main.go
cd .
/usr/local/Cellar/go/1.5/libexec/pkg/tool/darwin_amd64/link -o $WORK/slow_build/_obj/exe/a.out -L $WORK -L /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -extld=clang++ -buildmode=exe -buildid=14ca37ec220e553c7bf9829fe97751df5a041f5f $WORK/slow_build.a
mv $WORK/slow_build/_obj/exe/a.out slow_build

real    0m16.816s
user    0m16.225s
sys 0m1.226s
Repository: youtube-dl
Issue: [req] egghead.io
Labels: site-support-request

technology list: https://egghead.io/technologies/angular2
series list: https://egghead.io/series/react-flux-architecture
search results list: https://egghead.io/search?q=testing

video page: https://egghead.io/lessons/react-development-environment-setup
Repository: go
Issue: x/mobile/cmd/gomobile: INSTALL_FAILED_INVALID_APK when dashes in package
Labels: mobile

Hi,

It seems that it is not possible to build an Android application from Go source code if there is a dash (`-`) somewhere in the Go package name. Since my organization on GitHub has a dash inside, this means I cannot build any Android applications whatsoever.

You can easily test this with the currently available Go 1.5 release version. 
1. Take the `golang.org/x/mobile/example/basic` example application and move it to the `golang.org/x/mobile/example/basic-demo` folder.
2. Run `gomobile build -target=android golang.org/x/mobile/example/basic-demo` command.
3. Run the `adb install basic-demo` command.

You will get the following error:

```
6927 KB/s (3293500 bytes in 0.464s)
    pkg: /data/local/tmp/basic-demo.apk
Failure [INSTALL_FAILED_INVALID_APK]
```

Now, you might ask me why didn't I use the `gomobile install` command instead. There seems to be another issue as well. If you run the `gomobile install` command, you will not receive any output to the terminal at all. Furthermore, you will even get an exit code of `0`. It seems that the `gomobile` command hides any issues coming from the `adb` command.

My best guess is that somewhere in the manifest you place the package name. At least for Java based applications, I know that they don't allow dashes in the package names and you are advised to substitute those with underscores. ([http://stackoverflow.com/questions/3179216/what-is-the-convention-for-word-separator-in-java-package-names](http://stackoverflow.com/questions/3179216/what-is-the-convention-for-word-separator-in-java-package-names)) I guess a similar validation is performed even if the application is not Java based. This is just a hunch, I might be totally off base.
Repository: go
Issue: cmd/go: cgo flags drops quotes.
Labels: NeedsInvestigation

There doesn't seem to be a way to pass a quoted value with cgo flags.

``` go
package libsass

/*
#cgo CFLAGS: -D VERSION="3.2.4-0ae11a4"


char* version(void) {
  return VERSION;
}
*/
import "C"

func Version() string {
    return C.GoString(C.version())
}
```

``` sh
$ go build -x -v
WORK=/tmp/go-build030587731
test/cgoflag
mkdir -p $WORK/test/cgoflag/_obj/
mkdir -p $WORK/test/cgoflag/_obj/exe/
cd /home/ome/go/src/test/cgoflag
CGO_LDFLAGS="-g" "-O2" /usr/local/go/pkg/tool/linux_amd64/cgo -objdir $WORK/test/cgoflag/_obj/ -importpath test/cgoflag -- -I $WORK/test/cgoflag/_obj/ -D VERSION=3.2.4-0ae11a4 main.go
# test/cgoflag
./main.go: In function 'version':
<command-line>:0:9: error: too many decimal points in number
./main.go:8:10: note: in expansion of macro 'VERSION'
   return VERSION;
          ^
<command-line>:0:15: error: invalid suffix "ae11a4" on integer constant
./main.go:8:10: note: in expansion of macro 'VERSION'
   return VERSION;
```

I have also tried `'"3.2.4-0ae11a4"'` and some other variations, they all yield:
`can't load package: package test/cgoflag: /home/ome/go/src/test/cgoflag/main.go: malformed #cgo argument: VERSION="3.2.4-0ae11a4"`
Repository: youtube-dl
Issue: [Weibo] Unsupported URL
Labels: site-support-request

- **URL:** http://video.weibo.com/show?fid=1034:7ffc79010fec610ed9a7dc35bd288062
- **Error:** Unsupported URL: http://video.weibo.com/show?fid=1034:7ffc79010fec610ed9a7dc35bd288062
- **Platform:** openSUSE 13.1, x86_64, XFCE
- **Version:** 2015.08.16.1
- **Video player:** Custom

Oddly, there's supposed to be Weibo support, it seems (#1039). Not sure why it doesn't work here. Different video provider, maybe?

```
sven@linux-etoq:~/archive/shandong-explosion> youtube-dl -v http://video.weibo.com/show?fid=1034:7ffc79010fec610ed9a7dc35bd288062
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://video.weibo.com/show?fid=1034:7ffc79010fec610ed9a7dc35bd288062']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.08.16.1
[debug] Python version 2.7.6 - Linux-3.11.10-29-desktop-x86_64-with-SuSE-13.1-x86_64
[debug] exe versions: ffmpeg 2.7.2, ffprobe 2.7.2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] show?fid=1034:7ffc79010fec610ed9a7dc35bd288062: Requesting header
WARNING: Falling back on generic information extractor.
[generic] show?fid=1034:7ffc79010fec610ed9a7dc35bd288062: Downloading webpage
[generic] show?fid=1034:7ffc79010fec610ed9a7dc35bd288062: Extracting information
ERROR: Unsupported URL: http://video.weibo.com/show?fid=1034:7ffc79010fec610ed9a7dc35bd288062
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/generic.py", line 1211, in _real_extract
    doc = parse_xml(webpage)
  File "/usr/lib/python2.7/site-packages/youtube_dl/utils.py", line 1594, in parse_xml
    tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: syntax error: line 1, column 0
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 655, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/common.py", line 287, in extract
    return self._real_extract(url)
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/generic.py", line 1804, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://video.weibo.com/show?fid=1034:7ffc79010fec610ed9a7dc35bd288062
```
Repository: go
Issue: net/http: implementing size capped connection pools
Labels: NeedsInvestigation

Hi,

This issue came up a few times already on golang-nuts. We could use an upper bound on the HTTP connection pool (active + idle) size and either block the caller until a connection becomes available, or return an error.

One of the suggested approaches is to provide a custom Transport that does the bookkeeping inside Dial(). That works only partially, as after the HTTP Client call (Do() or any of the verb helpers) returns there is no way to get a reference to the underlying connection and return that to the pool.

net/httputil contains a ClientConn type that seems to have some potential, but it is considered old (and probably will disappear soon). Even so, as far as I can tell the only way to grab the underlying TCP connection is to hijack it, which in turn forces one to handle the entire HTTP logic themselves.

A naive approach would be to pool HTTP requests instead, but that is not really the desired approach.

Thanks for reading!
Repository: neovim
Issue: Wrong indenting of compound literals.
Labels: bug-vim,syntax

Indenting of compound literals is broken in both neovim and vim when assignment and declaration are split.

I'm using:

```
NVIM 0.0.0-alpha+201508240435 (compiled Aug 24 2015 19:21:22)
Commit: 5066128d484ee8d0cb10ddd2260c3f5b47104b92

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul 11 2015 08:44:54)
```

But happens with every version of neovim / vim I've tried. All of this with empty rc files.

Here is how it looks:

```
struct Short {
    int a, b, c;
};

// Note: trailing commas on the last element make no difference whatsoever.
void IndentingStructs() {
    // Right
    struct Short foo = {
        1,
        2,
        3,
    };

    // Right
    struct Short bar = {
        .a = 1,
        .b = 2,
        .c = 3,
    };

    // Wrong
    foo = (struct Short){
        1,
            2,
            3,
    };

    // Wrong
    bar = (struct Short){
        .a = 1,
            .b = 2,
            .b = 3,
    };
}
```
Repository: opencv
Issue: cv::Point::homogeneous()
Labels: priority: normal,feature,category: core

Analog to Eigen's [MatrixBase::homogeneous](http://eigen.tuxfamily.org/dox/classEigen_1_1MatrixBase.html#af3513a0abfc3875e6d1912b8bb7b28ac) I vote for a cv::Point::homogeneous and a cv::Point3_::homogeneous , i.e. a convenience method which returns the same point with one additional dimension set to 1 so you can quickly multiply the point with a homography or a projection matrix.

Before implementing this, there are several questions to discuss:
1. How to call the method? homogeneous() seems quite long, compared to the other functions. **hom() ?**
2. What should the method return? Point::homogeneous() could return Point3 but what does Point3::homogeneous() return? I would vote for a **cv::Matx** to keep the interface clean
3. Should this method be only in the point classes or also in Matx where it throws a compile error for all non-1-column matrices?
4. Should we also introduce an equivalent for [hnormalize](http://eigen.tuxfamily.org/dox/classEigen_1_1VectorwiseOp.html#a1162b67a2744d546a6d22ecf56f47131)?
Repository: youtube-dl
Issue: Site Support Request: bugs.co.kr
Labels: site-support-request

Is it possible to add support for this url and website: 
http://music.bugs.co.kr/mvPlayer?mvId=196710
I got member of this website, but couldn't buy it and download it due to this video is free to watch for everyone.
It got many Korean show undisclosed cut that are not for sale and free to watch.
Any chance to add support for this website?
Sorry for any inconvenience. Thank you.

P.S. Non-member could only watch the video by length of 1 minute and member could watch it by full-length.
Repository: opencv
Issue: In faceDetect.cpp Video input still be executed after it finish (infinite loop)
Labels: bug,priority: normal,category: samples

Hi ,
when trying to execute the code faceDetect.cpp with a video input instead of the camera itself , the display won't stop and when the video is finished : I get this warning (result:10030): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-label-select-on-focus after class was initialised and it will block sometimes or start again in the same windows continuously , the only way to stop it is to hit Q or ctrl+c but I want that the video stop  automatically after finishing processing all frames in video
i execute the code by
./faceDetect --cascade="haarcascade_frontalface_alt.xml" --nested-cascade="haarcascade_eye_tree_eyeglasses.xml" --scale=1  vidTest1
Any hints :neckbeard: ?
poke : @avdmitry and @vpisarev  :v: