I followed the EOSIO multisig tutorial (https://steemit.com/eos/@genereos/eos-multisig-tutorial), but there is a error when I execute the multisig transaction after all the accounts approved it.

The detailed steps are as follow:
I created four accounts: mymultisig11, partner11111, partner22222 and partner33333.
./cleos set account permission mymultisig11 active '{"threshold":2,"keys":[],"accounts":[{"permission":{"actor":"partner11111","permission":"active"},"weight":1},{"permission":{"actor":"partner22222","permission":"active"},"weight":1},{"permission":{"actor":"partner33333","permission":"active"},"weight":1}],"waits":[]}' owner -p mymultisig11@owner
./cleos set account permission mymultisig11 owner '{"threshold":2,"keys":[],"accounts":[{"permission":{"actor":"partner11111","permission":"owner"},"weight":1},{"permission":{"actor":"partner22222","permission":"owner"},"weight":1},{"permission":{"actor":"partner33333","permission":"owner"},"weight":1}],"waits":[]}' -p mymultisig11@owner
./cleos multisig propose payme '[{"actor": "partner22222", "permission": "active"},{"actor": "partner33333", "permission": "active"}]' '[{"actor": "mymultisig11", "permission": "active"}]' eosio.token transfer '{"from":"mymultisig11", "to":"partner11111", "quantity":"25.0000 SYS", "memo":"Pay partner11111 some money"}' -p partner11111@active
./cleos multisig approve partner11111 payme '{"actor": "partner22222", "permission": "active"}' -p partner22222@active
./cleos multisig approve partner11111 payme '{"actor": "partner33333", "permission": "active"}' -p partner33333@active
./cleos multisig exec partner11111 payme -p partner11111@active
P.S. I'm sure that the wallet is unlocked and the related private keys are inside my wallet.
I met the same problem.
@liuzhl518 I followed exactly the same detailed-steps you mentioned above (copy-paste) and I've got no problem executing the multisig transaction (I can see that partner11111 has received 25.0000 in the end). Can you please try the above detailed-steps to reconfirm? Also if you still get the same error, try to start your nodeos with --verbose-http-errors argument, so we can get more verbose error description.
I met the same problem... @andriantolie what version of Eos you are running on? I've tried the latest 1.0.6. but met the same problem
I'm using the latest master as today
@andriantolie I've tried the latest 1.0.6 as well, but I still got the same error. Then I started nodeos with --verbose-http-errors, the error description is as follow:


According to the error logs,
{"auth":{"actor":"jack","permission":"owner"},"provided_delay":0,"provided_permissions":[{"actor":"eosio.msig","permission":"eosio.code"}],"provided_keys":[],"delay_max_limit_ms":388800000}
the provided permissions which is from eosio.msig contract occured something dismatch. It seems a bug of eosio.msig contract.
msig requires this to work:
$ push action eosio setpriv '["eosio.msig", 1]' -p eosio@active
The above command needs either the bios or system contracts installed to work.
@tbfleming It works! Thank you so much!
Can you tell me what does this command do? From the code, I notice this command set eosio.msig privileged, but I don't know how does the privilege work.
Think of a privileged account as the root account under Linux; code running under it can do anything. A typical chain has 2 privileged accounts: eosio and eosio.msig.
Ah, no wonder I didn't encounter the issue. I did set my eosio.msig to be privileged account as part of the boot sequence. Good to know that the problem is solved now, I'm going to close this issue. :)
@tbfleming how come eosio.msig has to be set privileged to execute the transaction? Why is it not set to privileged by default?
privileged allows msig to sudo the declared authorities in the transaction after verifying the signatures. It's not privileged by default because it doesn't exist by default. eosio is the only account that gets created automatically.
hi which version of the nodeos cleos and contract kit are you used in order to be able to call
cleos push action eosio setpriv '["eosio.msig", 1]' -p eosio@active
i just install all the contracts eosio.bios eosio.system eosio.token eosio.msig an still get
Unknown action setpriv in contract eosio
msig requires this to work:
$ push action eosio setpriv '["eosio.msig", 1]' -p eosio@activewhen i type
cleos push action eosio setpriv '["eosio.msig", 1]' -p eosio@active
i got the error
error 2019-03-22T01:31:50.099 thread-0 main.cpp:3449 main ] Failed with error: Assert Exception (10)
!action_type.empty(): Unknown action setpriv in contract eosio
Most helpful comment
msig requires this to work: