--- Log opened Fri Jun 08 00:00:00 2018 20180608 00:14:14-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20180608 01:10:45-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180608 01:10:51-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180608 01:12:16-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20180608 01:16:37<+discordbot5> so 20180608 01:17:00<+discordbot5> after a complete rebuild of my changes, the crash seems to have gone away in all cases 20180608 01:17:12<+discordbot5> I'm beginning to wonder if it was some compiler screwup 20180608 01:17:57<+discordbot5> I hadn't been doing a clean rebuild 20180608 01:32:24-!- gfgtdf_ [~gfgtdf@134.76.63.8] has quit [Read error: Connection reset by peer] 20180608 02:21:34-!- irker851 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20180608 02:47:40<+discordbot5> Yeah, couldn't figure out how to do what I want via a trait definition, so I got it done via an object instead. 20180608 03:29:50-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20180608 03:50:31-!- irker196 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20180608 03:50:31< irker196> wesnoth/wesnoth:1.14 ln-zookeeper ff7aa38e35 Restructured WC/Soulless bat variation d AppVeyor: All builds passed 20180608 04:06:27-!- fabi [~fabi@200116b82b1afd00119a80d610ee1f9b.dip.versatel-1u1.de] has joined #wesnoth-dev 20180608 04:06:27-!- fabi [~fabi@200116b82b1afd00119a80d610ee1f9b.dip.versatel-1u1.de] has quit [Changing host] 20180608 04:06:27-!- fabi [~fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20180608 04:15:13<+discordbot5> I find myself mystified by the fact that somehow the solution of simply not purging the cache from a thread other than the main thread is somehow not the best one. 20180608 04:16:21<+discordbot5> Bypassing the cache for that dialog alone would probably win a prize in a hacks competition. 20180608 04:16:48< celticminstrel> Sure, sounds good to me. 20180608 04:17:09<+discordbot5> That's not a good thing. 20180608 04:17:35< celticminstrel> No I mean, bypassing the cache sounds good. 20180608 04:17:45<+discordbot5> Nope, it's not. 20180608 04:17:54< celticminstrel> Meh. 20180608 04:18:00<+discordbot5> Because that means giving GUI2 special knowledge about the loading screen's requirements. 20180608 04:18:30<+discordbot5> Basically making it a big design exception and therefore kind of defeating the point of making it a GUI2 dialog in the first place. 20180608 04:19:05<+discordbot5> I mean, sure by all means, it's not an unacceptable solution, but it's not elegant and it doesn't answer the question of why the cache needs to be purged by threads other than the main one. 20180608 04:20:07< celticminstrel> That's true too. 20180608 04:20:33<+discordbot5> It's cleaner from a purely abstract standpoint to just solidify in our API contract that no-one should be calling the image cache API from other threads, than to decide "okay this dialog should be specifically prepared for the possibility of someone calling the image cache API from another thread". 20180608 04:20:57< celticminstrel> I can agree with that. 20180608 04:22:28-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20180608 04:31:48-!- gallaecio [~quassel@188.79.96.255] has joined #wesnoth-dev 20180608 05:26:40-!- gallaecio [~quassel@188.79.96.255] has quit [Quit: http://quassel-irc.org - Converse confortabelmente. En calquera parte.] 20180608 05:58:20-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180608 05:58:26-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180608 06:01:50<+discordbot5> @jyrkive so, after a total rebuild of clean master and then a total rebuild of my changes (plus 2 cache purges) all the crashes are gone. Do you think it's possible I had run into some weird, insidious compiler issue that screwed up my binary and therefor caused the crash? 20180608 06:02:09<+discordbot5> Yes, it's one possibility. 20180608 06:02:41<+discordbot5> Another possibility is that the crash was caused by the linking order the linker used, and will thus randomly occur in future builds. 20180608 06:02:57<+discordbot5> (But in that case it may not even be caused by your changes to begin with.) 20180608 06:03:07<+discordbot5> Indeed 20180608 06:03:34<+discordbot5> I shall proceed... finally. 20180608 06:03:43<+discordbot5> I've been working on this since Monday 😬 20180608 06:13:14-!- gallaecio [~quassel@4.red-81-39-199.dynamicip.rima-tde.net] has joined #wesnoth-dev 20180608 06:25:24-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20180608 06:34:22-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20180608 06:34:28-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20180608 06:39:11< irker196> wesnoth/wesnoth:master ln-zookeeper 131868581d Restructured WC/Soulless bat variation d AppVeyor: All builds passed 20180608 06:44:18< irker196> wesnoth: Charles Dang wesnoth:1.14 8722221ed498 / src/events.cpp: Ensure events::call_in_main_thread is thread-safe https://github.com/wesnoth/wesnoth/commit/8722221ed4981724fded82aedc8fad2ef99c53c5 20180608 06:49:10<+discordbot5> is it acceptable to use std::move to assign something if your function takes an object by a copy? 20180608 06:50:08<+discordbot5> Yes. The function has a private copy and can trash it if it wants. 20180608 07:17:27-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180608 07:17:45<+discordbot5> next I shall tackle the vptr errors 20180608 07:18:22<+discordbot5> I'm just going to add a static type() function that get_control_type() calls 20180608 07:20:08<+discordbot5> (if someone wants me to use a different name than type() do suggest it now) 20180608 07:25:20-!- travis-ci [~travis-ci@ec2-54-204-112-72.compute-1.amazonaws.com] has joined #wesnoth-dev 20180608 07:25:21< travis-ci> wesnoth/wesnoth#18505 (1.14 - 8722221 : Charles Dang): The build was broken. 20180608 07:25:21< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/389584322 20180608 07:25:21-!- travis-ci [~travis-ci@ec2-54-204-112-72.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180608 07:25:50<+discordbot5> broken, you say 20180608 07:26:21<+discordbot5> ah 20180608 07:27:03<+discordbot5> need to include 20180608 07:40:21<+discordbot5> wait, does this static function need be public if I want to access it from elsewhere? 20180608 07:40:39<+discordbot5> I can't remember if public/private affects static functions... 20180608 07:40:46<+discordbot5> Yes, it does. 20180608 07:41:02<+discordbot5> blaaahhh 20180608 08:02:25-!- Appleman1234 [~quassel@124x38x163x22.ap124.ftth.ucom.ne.jp] has quit [Remote host closed the connection] 20180608 08:05:56<+discordbot5> by the vptr errors, you mean https://github.com/wesnoth/wesnoth/issues/2400 ? 20180608 08:06:00<+discordbot5> yes 20180608 08:06:09<+discordbot5> cool 20180608 08:06:26-!- Appleman1234 [~quassel@124x38x163x22.ap124.ftth.ucom.ne.jp] has joined #wesnoth-dev 20180608 08:06:29<+discordbot5> will be interesting to see if that fixes the boost tests segfaulting with LTO 20180608 08:06:44<+discordbot5> ¯_(ツ)_/¯ 20180608 08:18:09< irker196> wesnoth: Charles Dang wesnoth:master 3d894faf11bb / src/gui/ (86 files in 4 dirs): GUI2: made widget initialization process more secure against memory leaks https://github.com/wesnoth/wesnoth/commit/3d894faf11bba1b214914a7af565f4c712e29a5a 20180608 08:18:11< irker196> wesnoth: Charles Dang wesnoth:master 52f7fcf5cc3d / src/gui/ (64 files in 2 dirs): GUI2: added a public static type getter to all widgets implementing get_control_ https://github.com/wesnoth/wesnoth/commit/52f7fcf5cc3d7446904df90381f467d15d4f5aad 20180608 08:18:14< irker196> wesnoth: Charles Dang wesnoth:master 34195ae65481 / src/gui/ (4 files in 3 dirs): GUI2: removed now-redundant type parameter from build_single_widget_and_cast_to https://github.com/wesnoth/wesnoth/commit/34195ae6548131ef00aa894b4f82c7312fa140da 20180608 08:18:18< irker196> wesnoth: Charles Dang wesnoth:master 58d3cad31581 / src/gui/ (89 files in 4 dirs): Merge branch 'gui2_widget_ptr_init_refactor' https://github.com/wesnoth/wesnoth/commit/58d3cad315817d55e18aba6c79f850ed016d2ebb 20180608 08:18:21<+discordbot5> @Pentarctagon ^ 20180608 08:20:32-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20180608 08:21:28-!- vn971 [~vasya@94.158.103.15] has joined #wesnoth-dev 20180608 08:21:47-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20180608 08:22:23< vn971> I wonder, does [remove_object] work on `apply_to=image_mod` ? It seems that the answer is "no". 20180608 08:23:44<+discordbot5> I think there’s a bug about that? 20180608 08:24:23< vn971> @Vultraz: can't find any: https://github.com/wesnoth/wesnoth/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+remove_object 20180608 08:25:45-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Quit: wedge009] 20180608 08:25:55< vn971> BTW, I did more tests and I'm now sure it's indeed broken. I've added 1000HP to the same object, and I see units getting their extra HP and losing it when object is removed. The "image_mod" stays forever though. 20180608 08:26:10<+discordbot5> hmm 20180608 08:26:25<+discordbot5> rc/events.cpp:57:7: error: ‘atomic_bool’ in namespace ‘std’ does not name a type std::atomic_bool finished = false; ^ src/events.cpp: In constructor ‘{anonymous}::invoked_function_data::invoked_function_data(const std::function&)’: src/events.cpp:48:5: error: class ‘{anonymous}::invoked_function_data’ does not have any field named ‘finished’ , finished(false) ^ src/events.cpp: In 20180608 08:26:25<+discordbot5> member function ‘void {anonymous}::invoked_function_data::call()’: src/events.cpp:73:3: error: ‘finished’ was not declared in this scope finished = true; ^ src/events.cpp: In function ‘void events::call_in_main_thread(const std::function&)’: src/events.cpp:740:15: error: ‘struct {anonymous}::invoked_function_data’ has no member named ‘finished’ while(!fdata.finished) { 20180608 08:26:51<+discordbot5> Oops 20180608 08:26:54<+discordbot5> Didn’t fix that yet 20180608 08:30:10<+discordbot5> well i pushed a commit but i dont' see the notif 20180608 08:30:34<+discordbot5> still, you can pull now 20180608 08:31:52< irker196> wesnoth: Charles Dang wesnoth:1.14 3d93fd3d53aa / src/events.cpp: Added missing include https://github.com/wesnoth/wesnoth/commit/3d93fd3d53aa52e5bb50311c5efa0c606d84442d 20180608 08:32:04<+discordbot5> well that one worked... 20180608 08:32:42<+discordbot5> src/events.cpp:58:30: error: use of deleted function ‘std::atomic::atomic(const std::atomic&)’ std::atomic_bool finished = false; ^ In file included from src/events.cpp:29:0: /usr/include/c++/5/atomic:66:5: note: declared here atomic(const atomic&) = delete; ^ /usr/include/c++/5/atomic:70:15: note: after user-defined conversion: constexpr 20180608 08:32:42<+discordbot5> std::atomic::atomic(bool) constexpr atomic(bool __i) noexcept : _M_base(__i) { } ^ 20180608 08:32:50<+discordbot5> oh come on 20180608 08:33:14<+discordbot5> try removing the inline assignment? 20180608 08:33:38<+discordbot5> ie just make it std::atomic_bool finished; 20180608 08:34:56<+discordbot5> https://pastebin.com/mZQ0vKYW 20180608 08:35:03<+discordbot5> did get farther though 20180608 08:35:30<+discordbot5> oh. fuck 20180608 08:35:33<+discordbot5> I forgot to update the tests 20180608 08:35:35<+discordbot5> gdi 20180608 08:40:49< vn971> wrote down the [remove_object]/"image_mod" issue: https://github.com/wesnoth/wesnoth/issues/3220 20180608 08:43:43< irker196> wesnoth: Charles Dang wesnoth:master 79adc68ef60f / src/tests/gui/ (fire_event.cpp iterator.cpp visitor.cpp): Attempt to update tests for 3d894fa https://github.com/wesnoth/wesnoth/commit/79adc68ef60fbbc7312f19a570c45095f594b61b 20180608 08:43:44<+discordbot5> @Pentarctagon ^ 20180608 08:44:27<+discordbot5> whoa 20180608 08:44:50<+discordbot5> hm 20180608 08:45:13<+discordbot5> do I still need to have just std::atomic_bool finished;? 20180608 08:45:23<+discordbot5> yes 20180608 08:45:27-!- travis-ci [~travis-ci@ec2-54-90-238-126.compute-1.amazonaws.com] has joined #wesnoth-dev 20180608 08:45:28< travis-ci> wesnoth/wesnoth#18506 (master - 58d3cad : Charles Dang): The build is still failing. 20180608 08:45:28< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/389612560 20180608 08:45:28-!- travis-ci [~travis-ci@ec2-54-90-238-126.compute-1.amazonaws.com] has left #wesnoth-dev [] 20180608 08:46:09< irker196> wesnoth: Charles Dang wesnoth:master 424e0e0ab44f / src/events.cpp: Fixup this atomic_bool again https://github.com/wesnoth/wesnoth/commit/424e0e0ab44f51932c25e7bad364a9602f6c8bc5 20180608 08:47:15< irker196> wesnoth: Charles Dang wesnoth:1.14 9ea4363145a6 / src/events.cpp: Fixup this atomic_bool again https://github.com/wesnoth/wesnoth/commit/9ea4363145a6a13d9f4339791e6f689aeb28279a 20180608 08:47:55<+discordbot5> yeah, whoa 20180608 08:48:23<+discordbot5> https://cdn.discordapp.com/attachments/259976436490829825/454567353393610753/log.log 20180608 08:49:49<+discordbot5> can you try changing std::make_shared to std::make_shared 20180608 08:49:59<+discordbot5> in iterator.cpp and fire_event.cpp 20180608 08:51:11<+discordbot5> iterator under src/gui/ or src/tests/? 20180608 08:51:17<+discordbot5> latter 20180608 08:52:34<+discordbot5> https://cdn.discordapp.com/attachments/259976436490829825/454568410412482560/log.log 20180608 08:53:15<+discordbot5> same treatment for gui2::build_single_widget_and_cast_to