Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

dini: Plugin Breaks Test Suite #1713

Closed
3 tasks done
sanssecours opened this issue Dec 3, 2017 · 12 comments · Fixed by #1726
Closed
3 tasks done

dini: Plugin Breaks Test Suite #1713

sanssecours opened this issue Dec 3, 2017 · 12 comments · Fixed by #1726
Assignees
Milestone

Comments

@sanssecours
Copy link
Member

sanssecours commented Dec 3, 2017

Description

Unfortunately the latest merge commit to master breaks

.

Proposal

It would be great if we require that everyone opens a pull request before she or he merges non-trivial changes. This way we can check if new code breaks anything. Merging non-working code to master might break the workflow of other developers, who regularly rebase their work on the lastest version of the code base.

@markus2330
Copy link
Contributor

Thank you for reporting the issue!

It would be great if we require that everyone opens a pull request before she or he merges non-trivial changes. This way we can check if new code breaks anything. Merging non-working code to master might break the workflow of other developers, who regularly rebase their work on the lastest version of the code base.

Sorry, my mistake. Unfortunately, we do not have a workflow to build a Debian package with a new plugin without merging to master first. Thus I merged it without creating a PR. I opened a separate issue for the workflow problem in #1714. Nevertheless, you are right: not breaking the master is more important than being able to build Debian packages sooner. I thought that a new experimental plugin in master is acceptable (even if it does not work) but it seems like my assumption was wrong.

[breaks] the Jenkins build job elektra-ini-mergerequest and

This build job should be changed to use dini instead. But more work is needed until this works.

[breaks] the Travis Linux/ASAN build job

I saw this already but I have not found the problem yet. (And I get different ASAN errors locally, not caused by this PR, so I cannot reproduce.) Might be fixed with 518440b.

markus2330 pushed a commit that referenced this issue Dec 3, 2017
@markus2330
Copy link
Contributor

Seems like the change introduced a new error (warning):

https://travis-ci.org/ElektraInitiative/libelektra/jobs/310956065

Hopefully fixed in 59d73b0

@markus2330
Copy link
Contributor

Proposal accepted for future (thus proposal removed) but ASAN error unfortunately still not fixed (thus help wanted added).

Reproducing is difficult because there are still plenty of ASAN errors in Debian Stretch.

@markus2330
Copy link
Contributor

Seems like also the testshell_markdown_dini sometimes fails. I added the todos to #1693.

@markus2330
Copy link
Contributor

@sanssecours What about dropping support for Ubuntu Trusty (14.04)? (Or at least the ASAN build for it.) It is even older than Debian Jessie (April 26th, 2015).

I wonder in which ways travis modified Trusty. (Or is it even using Ubuntu Trusty?) When I bootstrapped trusty I got cmake v2.8, not supported by Elektra anymore. Thus I could not reproduce the ASAN problem.

@sanssecours
Copy link
Member Author

@sanssecours What about dropping support for Ubuntu Trusty (14.04)? (Or at least the ASAN build for it.) It is even older than Debian Jessie (April 26th, 2015).

I do not like the idea. I just fixed two memory leaks reported by the Travis ASAN build. However, I agree that Ubuntu Trusty is (horribly) outdated. As far as I can tell Travis should add support for the less outdated Ubuntu Xenial on December 11th 🙌.

I wonder in which ways travis modified Trusty.

The Travis documentation lists some of the modifications. The documentation is quite vague though:

The build-essential metapackage is installed, as well as modern versions of:

  • GCC
  • Clang
  • make
  • autotools
  • cmake
  • scons

. At least I do not really know what version of CMake is considered “modern”.

@markus2330
Copy link
Contributor

Thank you for the quick reply!

lists some of the modifications

If they exchange core components they should not call it Ubuntu Trusty.

As far as I can tell Travis should add support for the less outdated Ubuntu Xenial on December 11th 🙌.

So lets wait for 3 days and see which ASAN errors we get with Ubuntu Xenial. (Hopefully they provide a real Ubuntu Xenial and not a modified one.)

@markus2330
Copy link
Contributor

Seems like elektra-ini-mergerequest is now fixed. For ASAN multiple problems exist:

https://build.libelektra.org/jenkins/job/elektra-clang-asan/lastFailedBuild/console

Were they all introduced with the dini plugin?

@sanssecours
Copy link
Member Author

Were they all introduced with the dini plugin?

The tests:

  • testshell_selftest,
  • testshell_markdown_dini and
  • testkdb_allplugins

fail both on Travis and on Jenkins. Since the Travis ASAN build worked before commit 2bac405, I would assume the failures were introduced by dini. Anyway, all of the messages of the form

runtime error: downcast of address … with insufficient space for an object of type 
'_Rb_tree_node<std::pair<const std::basic_string<char>, std::basic_string<char> > >'

show problems in libstdc++ and not in Elektra.

@markus2330
Copy link
Contributor

Thank you for fixing it!

@markus2330
Copy link
Contributor

I thought we found a way to suppress wrongly found ASAN errors. Can't we add the libstdc++ problems to tests/sanitizer.blacklist?

@sanssecours sanssecours mentioned this issue Dec 10, 2017
12 tasks
@sanssecours
Copy link
Member Author

Can't we add the libstdc++ problems to tests/sanitizer.blacklist?

Hm, I never thought about that 😄. I guess you are right. I added an ToDo to issue #1725.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants