Meta tags:
Headings (most frequently used words):
care, description, example, downloads, support, privacy,
Text of the page (most frequently used words):
the (51), care (30), path (17), that (15), for (15), bob (15), proot (13), this (13), proc (10), and (9), gcc (9), alice (9), file (9), system (9), 130213072430 (8), make (8), info (8), ubuntu (7), strtol (7), not (7), src (7), they (6), are (6), same (6), execute (6), into (6), execution (6), free (5), source (5), rootfs (5), directory (5), archive (5), warning (5), value (5), with (4), both (4), https (4), able (4), reproduce (4), issue (4), software (4), even (4), return (4), entering (4), concealed (4), revealed (4), command (4), content (4), events (4), however (3), since (3), eglibc (3), was (3), purpose (3), search (3), should (3), usr (3), include (3), see (3), there (3), his (3), required (3), bin (3), function (3), readlink_proc (3), 132 (3), ignoring (3), use (3), example (3), external (3), your (2), bug (2), reports (2), first (2), support (2), repository (2), previous (2), releases (2), were (2), has (2), been (2), archived (2), can (2), under (2), each (2), github (2), com (2), downloads (2), launchpad (2), net (2), 8ubuntu4 (2), investigations (2), differently (2), files (2), contains (2), attribute (2), package (2), related (2), web (2), page (2), stdlib (2), have (2), although (2), version (2), copyright (2), 2010 (2), foundation (2), inc (2), copying (2), conditions (2), warranty (2), merchantability (2), fitness (2), particular (2), different (2), get (2), details (2), then (2), her (2), home (2), tmp (2), pwd (2), uses (2), supposed (2), before (2), explicitly (2), during (2), original (2), all (2), environment (2), variables (2), saved (2), way (2), executions (2), context (2), reproduced (2), initial (2), reproducible (2), linux (2), description (2), top, feel, send, questions, suggestions, patches, chat, but, please, sure, answer, isn, user, manual, gitter, forum, mailing, list, heavily, based, why, hosted, packaged, latest, builds, found, job, artifacts, commit, gitlab, pipelines, static, build, 0ubuntu13, oneiric, thanks, reported, without, effort, programs, relevant, here, declaration, warn, unused, result, belongs, its, shows, actually, wrongly, introduced, official, developers, ultimately, notify, them, regard, grep, wirl, inttypes, confirms, versions, one, seems, modified, according, changes, regarding, made, decides, coming, from, invocation, returns, something, slightly, linaro, far, good, compiler, doesn, sense, used, check, string, format, useless, only, matters, further, more, errno, she, sends, now, hints, conceal, didn, expected, extract, output, don, much, time, investigate, iterating, between, other, decide, prepends, technically, x86, whereas, slackware, x86_64, distros, shipped, wants, report, compilation, raises, unexpected, advised, inspect, sharing, consequence, program, executed, may, behave, unexpectedly, because, accessible, anymore, case, such, options, well, accesses, txt, ensure, sensitive, possibly, leak, recursively, appear, empty, consistency, reasons, nested, two, paths, conceals, privacy, design, does, record, instead, archives, accessed, components, modification, called, script, embedded, restores, relaunches, confined, produce, results, assuming, rely, like, key, strokes, network, packets, these, replayed, manually, automatically, using, instance, means, possible, alter, changing, replaying, umockdev, monitors, specified, create, material, will, everywhere, systems, compatible, typically, useful, reliable, demonstrations, tutorials, portable, applications, minimal, coverage, artifact, evaluation, comprehensive, archiver,
Text of the page (random words):
care comprehensive archiver for reproducible execution care description example source downloads support description care monitors the execution of the specified command to create an archive that contains all the material required to re execute it in the same context that way the command will be reproducible everywhere even on linux systems that are supposed to be not compatible with the original linux system care is typically useful to get reliable bug reports demonstrations artifact evaluation tutorials portable applications minimal rootfs file system coverage by design care does not record events at all instead it archives environment variables and accessed file system components before modification during the so called initial execution then to reproduce this execution the re execute sh script embedded into the archive restores the environment variables and relaunches the command confined into the saved file system that way both initial and reproduced executions should produce the same results as they use the same context assuming they do not rely on external events like key strokes or network packets or that these external events are replayed manually or automatically using umockdev for instance that means it is possible to alter explicitly the reproduced executions by changing content of the saved file system or by replaying different external events privacy to ensure that no sensitive file can possibly leak into the archive care conceals recursively the content of home and tmp that is they appear empty during the original execution although for consistency reasons the content of pwd is revealed even if it is nested into the two previous paths as a consequence a program executed under care may behave unexpectedly because a required path is not accessible anymore in this case such a path has to be revealed explicitly for details see the options concealed path and revealed path and the file concealed accesses txt as well it is advised to inspect the archived content before sharing it example in this example alice wants to report to bob that the compilation of proot v2 4 raises an unexpected warning alice make c proot 2 4 src make entering directory proot 2 4 src cc path proc o path proc c in function readlink_proc path proc c 132 3 warning ignoring return value of strtol technically alice uses ubuntu 11 04 for x86 whereas bob uses slackware 13 37 on x86_64 both distros are supposed to be shipped with gcc 4 5 2 however bob is not able to reproduce this issue on his system bob make c proot 2 4 src make entering directory proot 2 4 src cc path proc o since they don t have much time to investigate this issue by iterating between each other they decide to use care first alice prepends care to her command alice care make c proot 2 4 src care info concealed path home care info concealed path tmp care info revealed path pwd care info make entering directory proot 2 4 src cc path proc o path proc c in function readlink_proc path proc c 132 3 warning ignoring return value of strtol care info care info hints care info search for conceal in care h if the execution didn t go as expected care info use care 130213072430 bin to extract the output archive then she sends the care 130213072430 bin file to bob now he should be able to reproduce her issue on his system bob care 130213072430 bin bob care 130213072430 re execute sh make entering directory proot 2 4 src cc path proc o path proc c in function readlink_proc path proc c 132 3 warning ignoring return value of strtol so far so good this compiler warning doesn t make sense to bob since strtol is used there to check a string format the return value is useless only the errno value matters further investigations are required so bob re execute alice s gcc differently to get more details bob care 130213072430 re execute sh gcc version gcc ubuntu linaro 4 5 2 8ubuntu4 4 5 2 copyright c 2010 free software foundation inc this is free software see the source for copying conditions there is no warranty not even for merchantability or fitness for a particular purpose the same invocation on his system returns something slightly different bob gcc version gcc gcc 4 5 2 copyright c 2010 free software foundation inc this is free software see the source for copying conditions there is no warranty not even for merchantability or fitness for a particular purpose this confirms that both gcc versions are the same however alice s one seems to have been modified by ubuntu although according to the web page related to this ubuntu package 1 no changes regarding strtol were made so bob decides to search into the files coming from alice s system that is the rootfs directory in the archive bob grep wirl strtol care 130213072430 rootfs care 130213072430 rootfs usr include inttypes h care 130213072430 rootfs usr include stdlib h here the file usr include stdlib h contains a declaration of strtol with the warn unused result attribute on ubuntu this file belongs to the eglibc package and its related web page 2 shows that this attribute was actually wrongly introduced by the official eglibc developers ultimately bob should notify them in this regard thanks to care bob was able to reproduce the issue reported by alice without effort for investigations purpose he was able to re execute programs differently and to search into the relevant files 1 https launchpad net ubuntu oneiric source gcc 4 5 4 5 2 8ubuntu4 2 https launchpad net ubuntu source eglibc 2 13 0ubuntu13 2 downloads care is heavily based on proot that s why they are both hosted in the same repository https github com proot me proot previous care releases were packaged at https github com proot me proot static build releases however that repository has since been archived the latest builds can be found under the job artifacts for the gitlab ci cd pipelines for each commit support feel free to send your questions bug reports suggestions and patches to the mailing list or to the forum or chat with us on gitter but please be sure that your answer isn t in the user manual first top
|