{"action":"opened","issue":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4872","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4872/labels{/name}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4872/comments","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4872/events","html_url":"https://github.com/rethinkdb/rethinkdb/issues/4872","id":107631980,"number":4872,"title":"Crash during table fuzzing: `Guarantee failed: [pair.second] key for entry_t already exists`","user":{"login":"Tryneus","id":552910,"avatar_url":"https://avatars.githubusercontent.com/u/552910?v=3","gravatar_id":"","url":"https://api.github.com/users/Tryneus","html_url":"https://github.com/Tryneus","followers_url":"https://api.github.com/users/Tryneus/followers","following_url":"https://api.github.com/users/Tryneus/following{/other_user}","gists_url":"https://api.github.com/users/Tryneus/gists{/gist_id}","starred_url":"https://api.github.com/users/Tryneus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tryneus/subscriptions","organizations_url":"https://api.github.com/users/Tryneus/orgs","repos_url":"https://api.github.com/users/Tryneus/repos","events_url":"https://api.github.com/users/Tryneus/events{/privacy}","received_events_url":"https://api.github.com/users/Tryneus/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/pr:high","name":"pr:high","color":"e10c02"},{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels/tp:bug","name":"tp:bug","color":"e102d8"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/104","html_url":"https://github.com/rethinkdb/rethinkdb/milestones/2.1.x","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones/104/labels","id":1249551,"number":104,"title":"2.1.x","description":null,"creator":{"login":"danielmewes","id":505365,"avatar_url":"https://avatars.githubusercontent.com/u/505365?v=3","gravatar_id":"","url":"https://api.github.com/users/danielmewes","html_url":"https://github.com/danielmewes","followers_url":"https://api.github.com/users/danielmewes/followers","following_url":"https://api.github.com/users/danielmewes/following{/other_user}","gists_url":"https://api.github.com/users/danielmewes/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmewes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmewes/subscriptions","organizations_url":"https://api.github.com/users/danielmewes/orgs","repos_url":"https://api.github.com/users/danielmewes/repos","events_url":"https://api.github.com/users/danielmewes/events{/privacy}","received_events_url":"https://api.github.com/users/danielmewes/received_events","type":"User","site_admin":false},"open_issues":48,"closed_issues":2,"state":"open","created_at":"2015-08-11T07:18:11Z","updated_at":"2015-09-22T01:58:09Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-09-22T01:58:09Z","updated_at":"2015-09-22T01:58:09Z","closed_at":null,"body":"I ran the table fuzzer on `next` with `table_fuzzer.py --servers 8 --threads 64`, and encountered the following crash nearly 15 minutes in:\r\n\r\n```cpp\r\n2015-09-21T18:50:41.379555345 878.291227s error: Error in ../src/concurrency/watchable_map.tcc at line 98:\r\n2015-09-21T18:50:41.382459262 878.294131s error: Guarantee failed: [pair.second] key for entry_t already exists\r\n2015-09-21T18:50:41.383270370 878.294942s error: Backtrace:\r\n2015-09-21T18:50:42.216942404 879.128615s error: Mon Sep 21 18:50:41 2015\r\n\r\n1: rethinkdb_backtrace(void**, int) at rethinkdb_backtrace.cc:101\r\n2: backtrace_t::backtrace_t() at backtrace.cc:203\r\n3: lazy_backtrace_formatter_t::lazy_backtrace_formatter_t() at backtrace.cc:283\r\n4: format_backtrace(bool) at backtrace.cc:198\r\n5: report_fatal_error(char const*, int, char const*, ...) at errors.cc:83\r\n6: watchable_map_var_t<std::pair<uuid_u, uuid_u>, contract_ack_t>::entry_t::entry_t(watchable_map_var_t<std::pair<uuid_u, uuid_u>, contract_ack_t>*, std::pair<uuid_u, uuid_u> const&, contract_ack_t const&) at watchable_map.tcc:98\r\n7: minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>::on_update(signal_t*, peer_id_t const&, uuid_u const&, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> > const&, boost::optional<contract_ack_t> const&) at minidir.tcc:89\r\n8: std::_Mem_fn<void (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>::*)(signal_t*, peer_id_t const&, uuid_u const&, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> > const&, boost::optional<contract_ack_t> const&)>::operator()(minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>*, signal_t*, peer_id_t const&, uuid_u const&, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> > const&, boost::optional<contract_ack_t> const&) const at functional:551\r\n9: void std::_Bind<std::_Mem_fn<void (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>::*)(signal_t*, peer_id_t const&, uuid_u const&, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> > const&, boost::optional<contract_ack_t> const&)> (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, std::_Placeholder<4>, std::_Placeholder<5>, std::_Placeholder<6>, std::_Placeholder<7>)>::__call<void, signal_t*&&, peer_id_t&&, uuid_u&&, fifo_enforcer_write_token_t&&, bool&&, boost::optional<std::pair<uuid_u, uuid_u> >&&, boost::optional<contract_ack_t>&&, 0, 1, 2, 3, 4, 5, 6, 7>(std::tuple<signal_t*&&, peer_id_t&&, uuid_u&&, fifo_enforcer_write_token_t&&, bool&&, boost::optional<std::pair<uuid_u, uuid_u> >&&, boost::optional<contract_ack_t>&&>&&, std::_Index_tuple<0, 1, 2, 3, 4, 5, 6, 7>) at functional:1147\r\n10: void std::_Bind<std::_Mem_fn<void (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>::*)(signal_t*, peer_id_t const&, uuid_u const&, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> > const&, boost::optional<contract_ack_t> const&)> (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, std::_Placeholder<4>, std::_Placeholder<5>, std::_Placeholder<6>, std::_Placeholder<7>)>::operator()<signal_t*, peer_id_t, uuid_u, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> >, boost::optional<contract_ack_t>, void>(signal_t*&&, peer_id_t&&, uuid_u&&, fifo_enforcer_write_token_t&&, bool&&, boost::optional<std::pair<uuid_u, uuid_u> >&&, boost::optional<contract_ack_t>&&) at functional:1206\r\n11: std::_Function_handler<void (signal_t*, peer_id_t, uuid_u, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> >, boost::optional<contract_ack_t>), std::_Bind<std::_Mem_fn<void (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>::*)(signal_t*, peer_id_t const&, uuid_u const&, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> > const&, boost::optional<contract_ack_t> const&)> (minidir_read_manager_t<std::pair<uuid_u, uuid_u>, contract_ack_t>*, std::_Placeholder<1>, std::_Placeholder<2>, std::_Placeholder<3>, std::_Placeholder<4>, std::_Placeholder<5>, std::_Placeholder<6>, std::_Placeholder<7>)> >::_M_invoke(std::_Any_data const&, signal_t*, peer_id_t, uuid_u, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> >, boost::optional<contract_ack_t>) at functional:1780\r\n12: std::function<void (signal_t*, peer_id_t, uuid_u, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> >, boost::optional<contract_ack_t>)>::operator()(signal_t*, peer_id_t, uuid_u, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> >, boost::optional<contract_ack_t>) const at functional:2161\r\n13: mailbox_t<void (peer_id_t, uuid_u, fifo_enforcer_write_token_t, bool, boost::optional<std::pair<uuid_u, uuid_u> >, boost::optional<contract_ack_t>)>::read_impl_t::read(read_stream_t*, signal_t*) at typed.hpp:603\r\n14: mailbox_manager_t::mailbox_read_coroutine(connectivity_cluster_t::connection_t*, auto_drainer_t::lock_t, threadnum_t, unsigned long, std::vector<char, std::allocator<char> >*, long, mailbox_manager_t::force_yield_t) at mailbox.cc:277\r\n15: /home/ssd2/grey/rethinkdb/build/debug/rethinkdb() [0x1872733] at 0x1872733 ()\r\n16: /home/ssd2/grey/rethinkdb/build/debug/rethinkdb() [0x187326e] at 0x187326e ()\r\n17: callable_action_wrapper_t::run() at runtime_utils.cc:43\r\n18: coro_t::run() at coroutines.cc:207\r\n...\r\n```\r\n\r\nI don't think this code has been changed since 2.1, so I'd assume it still exists in the `v2.1.x` branch."}}