Providing traces from the other (working) scenario as well would likely be useful, by comparing the two it could be more obvious what is upsetting the server.
Robbie On 19 July 2016 at 10:58, Tobias Duckworth <[email protected]> wrote: > Thanks, wasn't aware of PN_TRACE_FRM, here's some output from connecting to > Azure and attempting to open a receiver then sender with that tracing > enabled: > > Address: https://TWDIoTHub.azure-devices.net:5671 > [0x6dd470]: -> AMQP > > on_start > [0x6dd470]:0 -> @open(16) > [container-id="77e8331f-ca64-4b22-8200-311024ede12d", channel-max=32767] > > [0x6dd470]: <- AMQP > [0x6dd470]:0 <- @open(16) > [container-id="DeviceGateway_5245347c74864eca98e80fc05547102b", > hostname="10.0.4.43", max-frame-size=65536, channel-max=8191, > idle-time-out=240000] > > on_connection_open > [0x6dd470]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647, > outgoing-window=2147483647] > [0x6dd470]:0 -> @attach(18) [name="fbad141a-325e-4751-b2fe-3524960cff1e/1", > handle=0, role=true, snd-settle-mode=2, rcv-settle-mode=0, > source=@source(40) [address="$cbs", durable=0, timeout=0, dynamic=false], > target=@target(41) [durable=0, timeout=0, dynamic=false], > initial-delivery-count=0] > [0x6dd470]:0 -> @attach(18) [name="fbad141a-325e-4751-b2fe-3524960cff1e/2", > handle=1, role=false, snd-settle-mode=2, rcv-settle-mode=0, > source=@source(40) [durable=0, timeout=0, dynamic=false], target=@target(41) > [address="$cbs", durable=0, timeout=0, dynamic=false], > initial-delivery-count=0] > [0x6dd470]:0 -> @flow(19) [incoming-window=2147483647, next-outgoing-id=0, > outgoing-window=2147483647, handle=0, delivery-count=0, link-credit=10, > drain=false] > [0x6dd470]:0 <- @begin(17) [remote-channel=0, next-outgoing-id=1, > incoming-window=5000, outgoing-window=5000, handle-max=262143] > > on_session_open > [0x6dd470]:0 <- @attach(18) [name="fbad141a-325e-4751-b2fe-3524960cff1e/1", > handle=0, role=false, snd-settle-mode=2, rcv-settle-mode=0, > initial-delivery-count=0, max-message-size=1048576] > [0x6dd470]:0 <- @detach(22) [handle=0, closed=true, error=@error(29) > [condition=:"amqp:internal-error", description="Object reference not set to > an instance of an object.", info={:exception="System.NullReferenceException: > Object reference not set to an instance of an object.\x0d\x0a\x0d\x0aServer > stack trace: \x0d\x0a at > Microsoft.Azure.Devices.Gateway.Cloud.Common.Amqp.AmqpExtensionMethods.GetIotHubName(AmqpConnection > connection) in > D:\jenkins\workspace\Build\common\Microsoft.Azure.Devices.Gateway.Cloud.Common\Amqp\AmqpExtensionMethods.cs:line > 17\x0d\x0a at > Microsoft.Azure.Devices.Gateway.Runtime.Amqp.AmqpGatewayProtocolHead.<OpenLinkAsync>d__83.MoveNext() > in > D:\jenkins\workspace\Build\gateway\runtime\Amqp\AmqpGatewayProtocolHead.cs:line > 624\x0d\x0a\x0d\x0aException rethrown at [0]: \x0d\x0a at > Microsoft.Azure.Devices.Common.Cloud.ExceptionDispatcher.Throw(Exception > exception) in > D:\jenkins\workspace\Build\common\Microsoft.Azure.Devices.Common\ExceptionDispatcher.cs:line > 14\x0d\x0a at > Microsoft.Azure.Devices.Common.Cloud.TaskHelpers.EndAsyncResult(IAsyncResult > asyncResult) in > D:\jenkins\workspace\Build\common\Microsoft.Azure.Devices.Common\TaskHelpers.cs:line > 310\x0d\x0a at > Microsoft.Azure.Amqp.AmqpLink.OnProviderLinkOpened(IAsyncResult result)"}]] > [0x6dd470]:0 <- @attach(18) [name="fbad141a-325e-4751-b2fe-3524960cff1e/2", > handle=1, role=true, snd-settle-mode=2, rcv-settle-mode=0, > max-message-size=1048576] > [0x6dd470]:0 <- @detach(22) [handle=1, closed=true, error=@error(29) > [condition=:"amqp:internal-error", description="Object reference not set to > an instance of an object.", info={:exception="System.NullReferenceException: > Object reference not set to an instance of an object.\x0d\x0a\x0d\x0aServer > stack trace: \x0d\x0a at > Microsoft.Azure.Devices.Gateway.Cloud.Common.Amqp.AmqpExtensionMethods.GetIotHubName(AmqpConnection > connection) in > D:\jenkins\workspace\Build\common\Microsoft.Azure.Devices.Gateway.Cloud.Common\Amqp\AmqpExtensionMethods.cs:line > 17\x0d\x0a at > Microsoft.Azure.Devices.Gateway.Runtime.Amqp.AmqpGatewayProtocolHead.<OpenLinkAsync>d__83.MoveNext() > in > D:\jenkins\workspace\Build\gateway\runtime\Amqp\AmqpGatewayProtocolHead.cs:line > 624\x0d\x0a\x0d\x0aException rethrown at [0]: \x0d\x0a at > Microsoft.Azure.Devices.Common.Cloud.ExceptionDispatcher.Throw(Exception > exception) in > D:\jenkins\workspace\Build\common\Microsoft.Azure.Devices.Common\ExceptionDispatcher.cs:line > 14\x0d\x0a at > Microsoft.Azure.Devices.Common.Cloud.TaskHelpers.EndAsyncResult(IAsyncResult > asyncResult) in > D:\jenkins\workspace\Build\common\Microsoft.Azure.Devices.Common\TaskHelpers.cs:line > 310\x0d\x0a at > Microsoft.Azure.Amqp.AmqpLink.OnProviderLinkOpened(IAsyncResult result)"}]] > > > Doesn't make a great deal of sense to me, but it does look as though the > error is indeed firmly inside Azure. > > Please let me know if this makes any more sense to you. > > You mention that service bus authenticates to the link - I think that Azure > is slightly different, although not certain. I was playing around with > service bus before Azure, and service bus takes a username/password in the > address. Whereas Azure firstly requires a TLS/SSL handshake in order to > connect at all, and then after that the authentication is achieved by > opening a sender on the endpoint '$cbs' and sending a message containing a > shared access signature and some specific fields in the properties. If this > succeeds, authentication is complete and a corresponding message is sent to > a receiver opened on the path '$cbs'. After this one can open senders and > receivers at device endpoints and communicate directly with devices. > > > > -- > View this message in context: > http://qpid.2158936.n2.nabble.com/qpid-proton-0-12-2-connection-engine-and-ssl-tp7647090p7647865.html > Sent from the Apache Qpid users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
