[ https://issues.apache.org/jira/browse/PROTON-1415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15880158#comment-15880158 ]
Jeremy Gooch edited comment on PROTON-1415 at 2/23/17 12:11 PM: ---------------------------------------------------------------- Thanks for looking into this. I found a problem with the code:- {{make}} failed, complaining about a lack of type on {{PN_TRANSPORT_READ_CLOSED}} in _event.h_. I changed line 363 to read:- {{static const pn_event_type_t PN_TRANSPORT_READ_CLOSED = PN_TRANSPORT_TAIL_CLOSED;}} The project then built successfully (pull request = https://github.com/alanconway/qpid-proton/pull/1). I'm now testing my client app, and will provide an update shortly. was (Author: goochjs): Thanks for looking into this. I found two problems:- h2. 1. make failed It complained about a lack of type on {{PN_TRANSPORT_READ_CLOSED}} in _event.h_. I changed line 363 to read:- {{static const pn_event_type_t PN_TRANSPORT_READ_CLOSED = PN_TRANSPORT_TAIL_CLOSED;}} The project then built successfully (pull request = https://github.com/alanconway/qpid-proton/pull/1). h2. 2. negative WaitGroup counter Then, when I ran my _receive.go_ client, it failed with the following error:- {code} root@1919183e6e52:/usr/src/go-electron# go run receive.go 2017/02/23 09:00:37 Connecting to amqp://localhost:5672 Listening on 1 connections panic: sync: negative WaitGroup counter goroutine 5 [running]: panic(0x5369c0, 0xc420092020) /usr/local/go/src/runtime/panic.go:500 +0x1a1 sync.(*WaitGroup).Add(0x844fa0, 0xffffffffffffffff) /usr/local/go/src/sync/waitgroup.go:75 +0x1fe sync.(*WaitGroup).Done(0x844fa0) /usr/local/go/src/sync/waitgroup.go:100 +0x34 main.consume(0x570178, 0x15) /usr/src/go-electron/receive.go:95 +0x530 created by main.main /usr/src/go-electron/receive.go:47 +0x2cb exit status 2 {code} I haven't yet managed to solve this second one. Sample code is in my repo - https://github.com/goochjs/amqp-activemq-python-go/tree/master/go-electron > go binding does not create durable subscriber > --------------------------------------------- > > Key: PROTON-1415 > URL: https://issues.apache.org/jira/browse/PROTON-1415 > Project: Qpid Proton > Issue Type: Bug > Components: go-binding > Affects Versions: 0.17.0 > Environment: Docker for Windows 1.13.1 > Docker golang:1.7 > ActiveMQ 5.14.3 (Java 1.8.0_111) > Reporter: Jeremy Gooch > Assignee: Alan Conway > > When creating a subscription from Qpid Electron, the subscription name is not > set, meaning that durable subscriptions cannot be created. > Example code -> > https://github.com/goochjs/amqp-activemq-python-go/blob/master/go-electron/receive.go > Go example snippet (setting container ID):- > container = electron.NewContainer(fmt.Sprintf("receive-client[%v]", > os.Getpid())) > Go example snippet (failing to set subscription name):- > if r, err := c.Receiver(electron.LinkName(SubscriptionName), > electron.Source("topic://"+AmqpResourceName)); err == nil { > For comparison, I have a working Qpid Proton Python client, which sets both > connection ID and subscription name -> > https://github.com/goochjs/amqp-activemq-python-go/blob/master/python-proton/message_receiver.py > Python example snippet (setting container ID):- > # Name the subscription after the script file name > event.container.container_id = __file__ > Python example snippet (setting subscription name):- > messaging_connection = event.container.connect(self.url) > event.container.create_receiver( > messaging_connection, > self.resource, > name=self.subscription_name, > options=durable > ) -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org