{"action":"created","issue":{"url":"https://api.github.com/repos/boostorg/serialization/issues/128","repository_url":"https://api.github.com/repos/boostorg/serialization","labels_url":"https://api.github.com/repos/boostorg/serialization/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/boostorg/serialization/issues/128/comments","events_url":"https://api.github.com/repos/boostorg/serialization/issues/128/events","html_url":"https://github.com/boostorg/serialization/pull/128","id":370701043,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzMzIwMTM1","number":128,"title":"Show crash of #111 in a different way","user":{"login":"Flamefire","id":309017,"node_id":"MDQ6VXNlcjMwOTAxNw==","avatar_url":"https://avatars2.githubusercontent.com/u/309017?v=4","gravatar_id":"","url":"https://api.github.com/users/Flamefire","html_url":"https://github.com/Flamefire","followers_url":"https://api.github.com/users/Flamefire/followers","following_url":"https://api.github.com/users/Flamefire/following{/other_user}","gists_url":"https://api.github.com/users/Flamefire/gists{/gist_id}","starred_url":"https://api.github.com/users/Flamefire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Flamefire/subscriptions","organizations_url":"https://api.github.com/users/Flamefire/orgs","repos_url":"https://api.github.com/users/Flamefire/repos","events_url":"https://api.github.com/users/Flamefire/events{/privacy}","received_events_url":"https://api.github.com/users/Flamefire/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-10-16T16:42:43Z","updated_at":"2018-11-18T16:48:36Z","closed_at":"2018-11-17T19:30:35Z","author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/boostorg/serialization/pulls/128","html_url":"https://github.com/boostorg/serialization/pull/128","diff_url":"https://github.com/boostorg/serialization/pull/128.diff","patch_url":"https://github.com/boostorg/serialization/pull/128.patch"},"body":"As @robertramey mentioned that the use of `extended_type_info` in #111 is invalid (can I have the related documentation for this?) I changed the example to be based on the official docu.\r\n\r\nBase is the basic serialization in the tutorial: https://www.boost.org/doc/libs/1_67_0/libs/serialization/doc/tutorial.html\r\nAdditionally I want a specific level as described here: https://www.boost.org/doc/libs/1_67_0/libs/serialization/doc/traits.html#level\r\n\r\nHence this code should now show the valid use of 2 shared libraries (possibly from different vendors and completely unrelated) each using static Boost.Serialization in a straight forward way.\r\n\r\nBut it will show the exact same crash as in #111 due to the destruction order mixup with shared libraries on linux."},"comment":{"url":"https://api.github.com/repos/boostorg/serialization/issues/comments/439707092","html_url":"https://github.com/boostorg/serialization/pull/128#issuecomment-439707092","issue_url":"https://api.github.com/repos/boostorg/serialization/issues/128","id":439707092,"node_id":"MDEyOklzc3VlQ29tbWVudDQzOTcwNzA5Mg==","user":{"login":"robertramey","id":1970652,"node_id":"MDQ6VXNlcjE5NzA2NTI=","avatar_url":"https://avatars1.githubusercontent.com/u/1970652?v=4","gravatar_id":"","url":"https://api.github.com/users/robertramey","html_url":"https://github.com/robertramey","followers_url":"https://api.github.com/users/robertramey/followers","following_url":"https://api.github.com/users/robertramey/following{/other_user}","gists_url":"https://api.github.com/users/robertramey/gists{/gist_id}","starred_url":"https://api.github.com/users/robertramey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robertramey/subscriptions","organizations_url":"https://api.github.com/users/robertramey/orgs","repos_url":"https://api.github.com/users/robertramey/repos","events_url":"https://api.github.com/users/robertramey/events{/privacy}","received_events_url":"https://api.github.com/users/robertramey/received_events","type":"User","site_admin":false},"created_at":"2018-11-18T16:48:36Z","updated_at":"2018-11-18T16:48:36Z","author_association":"MEMBER","body":"I had that test included earlier just to see what it would do to the test matrix.  It passed on every platform tested.  I removed it for a couple of reasons.  \r\n\r\na) It didn't fail anywhere so I doubted it's validity and utility.  I wasn't convinced that it actually isolated a problem.  That is, if there's a problem somewhere, I'd like to see a test isolate it.  I think this test needs more work to do what it purports to do.\r\n\r\nb) It wasn't to the standard you've set by test_singleton_inherited, etc as far as comments, justification, explanation, copyright etc. A test added to the library becomes part of the library almost forever. From an esthetic viewpoint, I believe that it's valuable that we try to maintain a level of consistency. One could make the case that it's just syntactic sugar and hence irrelevant.  But I think it's helpful to persons in the future to be able to understand the library and how to fix it if necessary.\r\n\r\nSoooo - I don't object in principle object to including a test like this.  But I think this one needs more work.\r\n\r\nThis whole episode does make the idea of separating the singleton into a separate boost library.  I've included features - basically the connected of \"locked\" and \"is_destroyed\" to support what the serialization library needs.  Separating this component into a separate library would result in a very interesting discussion as to what such a library should  contain.  I added in these features because I'm paranoid and trust no one.  But maybe that's just me.  Then there is the question of forcing initialization to occur before main.  And the question as to the way I handled the forcing of correct sequencing of dependent static objects.\r\n\r\nMaking singleton a separate library would make things simpler.  I believe that part of the confusion created in this thread is due to singleton and the serialization and extended type info, etc seeming to be coupled when in fact they are not.  Factoring things in composable components promotes correctness and simplifies testing and maintenance."}}
{"actor":{"display_login":"robertramey"}}