shadowm

Untitled

Sep 21st, 2013
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. 03:15:52 <shadowm> loonycyborg: I've got a weird issue here and I'm too lazy to file a bug at the moment. I get the following when attempting to connect to an add-ons server with a valid hostname but no listening campaignd on it:
  2. 03:16:15 <shadowm> 20130920 03:16:05 error network: network_asio::error thrown during transaction with add-on server; "Broken pipe"
  3. 03:16:15 <shadowm> 20130920 03:16:05 error general: Remote host disconnected.
  4. 03:17:39 <shadowm> loonycyborg: What isn't obvious from the output is that the game quits because the network_asio::error exception (it's a subclass of game::error) is somehow thrown again after the handler in src/addon/manager_ui.cpp line 979 is run/while it is running, so it is caught by main()'s game::error handler.
  5. 03:18:15 <shadowm> The game appears to quit while executing the gui2::show_error_message() function call.
  6. 03:19:01 <shadowm> A backtrace shows that somehow there's an implementation detail of gui2::tnetwork_transmission (the network progress dialog) involved at that point: http://pastebin.com/R4phP62p
  7. 03:20:27 <shadowm> Given that my gui2::tnetwork_transmission object (as a field of the addons_client object declared in src/addon/manager_ui.cpp) is supposed to have been destroyed at this point, I suspect that gui2::tnetwork_transmission or one of its object isn't performing some required clean-up step in its destructor.
  8. 03:21:04 <shadowm> *declared in src/addon/manager_ui.cpp line 937 (in <anonymous>::addons_manager_ui())
  9. 03:22:23 <shadowm> addons_client's destructor destroys its associated gui2::tnetwork_transmission first, then the network_asio::connection object.
  10. 03:23:33 <shadowm> Not sure if I'm supposed to do something myself before their destructors get invoked.
  11. 03:24:11 <shadowm> This problem only affects 1.11.x (all versions), and only when trying to connect to a valid hostname with no listener.
  12. 03:26:07 <shadowm> Then again, the 1.10 version doesn't do anything special.
  13. 03:26:51 <shadowm> Well, it doesn't use new/delete to manage the network_asio::connection and gui2::tnetwork_transmission objects, and that's it.
Advertisement
Add Comment
Please, Sign In to add comment