Jorge-Lopes / agoric-components

0 stars 0 forks source link

Error: invalid destination channel ID #3

Open Jorge-Lopes opened 11 months ago

Jorge-Lopes commented 11 months ago

Error message : "packet failed basic validation: invalid destination channel ID: identifier cannot be blank: invalid identifier"

Envirnoment:

Context: While following the cosmos-hub-ica demo, after calling the createICAAccount method which resolved into an oppen connection, I execute the sendICATxPacket method that resulted into the following error message.

chain logs

2023-08-02T17:43:05.907Z SwingSet: vat: v16: IBC downcall sendPacket { packet: { source_port: 'icacontroller-1', source_channel: 'channel-0', destination_port: 'icahost', destination_channel: undefined, data: 'eyJ0eXBlIjoxLCJkYXRhIjoiQ284QkNod3ZZMjl6Ylc5ekxtSmhibXN1ZGpGaVpYUmhNUzVOYzJkVFpXNWtFbThLTFdOdmMyMXZjekZ6WkdzMWEzaHRhbVZxT0hseGRHTndNamx0ZFhKb01IaDRhbXc1TUdvM2FETTBjelowWlJJdFkyOXpiVzl6TVRSNU1HMXFPV295YkRrNE1tUnJhMnc0YWpsNGQzTTVkalYyY3pNMWRUaDFkR280TXpnMkdnOEtCWFZoZEc5dEVnWTBOVEF3TURBPSIsIm1lbW8iOiIifQ==' }, relativeTimeoutNs: 600_000_000_000n }
2023-08-02T17:43:05.919Z SwingSet: ls: v10: Logging sent error stack (Error#2)
2023-08-02T17:43:05.919Z SwingSet: ls: v10: Error#2: packet failed basic validation: invalid destination channel ID: identifier cannot be blank: invalid identifier
2023-08-02T17:43:05.919Z SwingSet: ls: v10: Error: packet failed basic validation: invalid destination channel ID: identifier cannot be blank: invalid identifier
 at apply ()
 at Error (/bundled-source/.../node_modules/ses/src/error/tame-error-constructor.js:54)
 at outbound (.../vats/src/bridge.js:139)
 at outbound (.../vats/src/bridge.js:134)
 at apply ()
 at apply ()
 at In "outbound" method of (BridgeManagerKit privateOutbounder) (/bundled-source/.../node_modules/@endo/exo/src/exo-tools.js:42)
 at apply ()
 at apply ()
 at dispatchToHandler (/bundled-source/.../node_modules/@endo/eventual-send/src/handled-promise.js:163)
 at win (/bundled-source/.../node_modules/@endo/eventual-send/src/handled-promise.js:511)
 at ()

Hermes logs when the connection is created

2023-08-02T16:44:02.042251Z  INFO ThreadId(01) Hermes has started
2023-08-02T16:47:05.020139Z  INFO ThreadId(41) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.channel{channel=channel::channel-0/icacontroller-1:agoriclocal->theta-testnet-001}: 🎊  theta-testnet-001 => OpenTryChannel(OpenTry { port_id: icahost, channel_id: channel-2975, connection_id: connection-2595, counterparty_port_id: icacontroller-1, counterparty_channel_id: channel-0 }) at height 0-17220367
2023-08-02T16:47:05.020175Z  INFO ThreadId(41) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.channel{channel=channel::channel-0/icacontroller-1:agoriclocal->theta-testnet-001}: channel handshake step completed with events: OpenTryChannel(OpenTry { port_id: icahost, channel_id: channel-2975, connection_id: connection-2595, counterparty_port_id: icacontroller-1, counterparty_channel_id: channel-0 })
2023-08-02T16:47:18.455425Z  INFO ThreadId(60) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.channel{channel=channel::channel-2975/icahost:theta-testnet-001->agoriclocal}: 🎊  agoriclocal => OpenAckChannel(OpenAck { port_id: icacontroller-1, channel_id: channel-0, connection_id: connection-0, counterparty_port_id: icahost, counterparty_channel_id: channel-2975 }) at height 0-148
2023-08-02T16:47:18.455462Z  INFO ThreadId(60) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.channel{channel=channel::channel-2975/icahost:theta-testnet-001->agoriclocal}: channel handshake step completed with events: OpenAckChannel(OpenAck { port_id: icacontroller-1, channel_id: channel-0, connection_id: connection-0, counterparty_port_id: icahost, counterparty_channel_id: channel-2975 })
2023-08-02T16:47:21.595270Z  INFO ThreadId(29) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.client.misbehaviour{client=07-tendermint-0 src_chain=theta-testnet-001 dst_chain=agoriclocal}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=theta-testnet-001->agoriclocal:07-tendermint-0}:foreign_client.detect_misbehaviour{client=theta-testnet-001->agoriclocal:07-tendermint-0 update_height=None}: No evidence of misbehavior detected for chain theta-testnet-001
2023-08-02T16:47:23.872059Z  INFO ThreadId(29) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.client.misbehaviour{client=07-tendermint-0 src_chain=theta-testnet-001 dst_chain=agoriclocal}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=theta-testnet-001->agoriclocal:07-tendermint-0}:foreign_client.detect_misbehaviour{client=theta-testnet-001->agoriclocal:07-tendermint-0 update_height=None}: No evidence of misbehavior detected for chain theta-testnet-001
2023-08-02T16:47:26.164648Z  INFO ThreadId(29) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.client.misbehaviour{client=07-tendermint-0 src_chain=theta-testnet-001 dst_chain=agoriclocal}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=theta-testnet-001->agoriclocal:07-tendermint-0}:foreign_client.detect_misbehaviour{client=theta-testnet-001->agoriclocal:07-tendermint-0 update_height=None}: No evidence of misbehavior detected for chain theta-testnet-001
2023-08-02T16:47:26.473033Z  INFO ThreadId(71) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.client.misbehaviour{client=07-tendermint-0 src_chain=theta-testnet-001 dst_chain=agoriclocal}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=theta-testnet-001->agoriclocal:07-tendermint-0}: client is valid
2023-08-02T16:47:32.029610Z  INFO ThreadId(41) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.channel{channel=channel::channel-0/icacontroller-1:agoriclocal->theta-testnet-001}: 🎊  theta-testnet-001 => OpenConfirmChannel(OpenConfirm { port_id: icahost, channel_id: channel-2975, connection_id: connection-2595, counterparty_port_id: icacontroller-1, counterparty_channel_id: channel-0 }) at height 0-17220372
2023-08-02T16:47:32.029637Z  INFO ThreadId(41) worker.batch{chain=agoriclocal}:supervisor.handle_batch{chain=agoriclocal}:supervisor.process_batch{chain=agoriclocal}:worker.channel{channel=channel::channel-0/icacontroller-1:agoriclocal->theta-testnet-001}: channel handshake step completed with events: OpenConfirmChannel(OpenConfirm { port_id: icahost, channel_id: channel-2975, connection_id: connection-2595, counterparty_port_id: icacontroller-1, counterparty_channel_id: channel-0 })
2023-08-02T16:47:33.751130Z  INFO ThreadId(28) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}:foreign_client.detect_misbehaviour{client=agoriclocal->theta-testnet-001:07-tendermint-2255 update_height=None}: No evidence of misbehavior detected for chain agoriclocal
2023-08-02T16:47:34.179691Z  INFO ThreadId(28) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}:foreign_client.detect_misbehaviour{client=agoriclocal->theta-testnet-001:07-tendermint-2255 update_height=None}: No evidence of misbehavior detected for chain agoriclocal
2023-08-02T16:47:34.638559Z  INFO ThreadId(28) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}:foreign_client.detect_misbehaviour{client=agoriclocal->theta-testnet-001:07-tendermint-2255 update_height=None}: No evidence of misbehavior detected for chain agoriclocal
2023-08-02T16:47:35.104527Z  INFO ThreadId(28) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}:foreign_client.detect_misbehaviour{client=agoriclocal->theta-testnet-001:07-tendermint-2255 update_height=None}: No evidence of misbehavior detected for chain agoriclocal
2023-08-02T16:47:35.535674Z  INFO ThreadId(28) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}:foreign_client.detect_misbehaviour{client=agoriclocal->theta-testnet-001:07-tendermint-2255 update_height=None}: No evidence of misbehavior detected for chain agoriclocal
2023-08-02T16:47:35.965240Z  INFO ThreadId(28) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}:foreign_client.detect_misbehaviour{client=agoriclocal->theta-testnet-001:07-tendermint-2255 update_height=None}: No evidence of misbehavior detected for chain agoriclocal
2023-08-02T16:47:36.388558Z  INFO ThreadId(112) worker.batch{chain=theta-testnet-001}:supervisor.handle_batch{chain=theta-testnet-001}:supervisor.process_batch{chain=theta-testnet-001}:worker.client.misbehaviour{client=07-tendermint-2255 src_chain=agoriclocal dst_chain=theta-testnet-001}:foreign_client.detect_misbehaviour_and_submit_evidence{update_event=None client=agoriclocal->theta-testnet-001:07-tendermint-2255}: client is valid
michaelfig commented 11 months ago

I'm looking into this. Somehow the destination channelID is not being propagated.

michaelfig commented 11 months ago

I'm looking into this.

@Jorge-Lopes can you try the latest version of Agoric/agoric-sdk#8127 ? The relevant additional change is to x/vibc/ibc.go

Jorge-Lopes commented 10 months ago

Greetings @michaelfig Thank you very much for your help. I made the changes to the x/vibc/ibc.go described on the https://github.com/Agoric/agoric-sdk/pull/8127 and the error described above is no longer being triggered.

Although, a new error was spawned. While executing the sendICATxPacket method, an error is triggered, being the acknowledgement message the following: {"error":"ABCI code: 4: error handling packet: see events for details"} The logs can be found on this gist: https://gist.github.com/Jorge-Lopes/d59dcd57ef548ba0be1d94345ffa8a55

Do you have a suggestion on how to approach this issue? I wasn't able to see any helpful information so far.

Thank you very much in advance

michaelfig commented 10 months ago

There is some additional discussion in the Gist, but when that's concluded, we should copy the answer back here.