Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

on "/".IO.mkdir #4899

Closed
p6rt opened this issue Dec 21, 2015 · 11 comments
Closed

on "/".IO.mkdir #4899

p6rt opened this issue Dec 21, 2015 · 11 comments
Labels
SEGV Segmentation fault, bus error, etc. testneeded

Comments

@p6rt
Copy link

p6rt commented Dec 21, 2015

Migrated from rt.perl.org#126976 (status was 'resolved')

Searchable as RT126976$

@p6rt
Copy link
Author

p6rt commented Dec 21, 2015

From @labster

01​:56 labster m​: "/".IO.mkdir # well that's a surprise
01​:56 camelia rakudo-moar b38385​: OUTPUT«(signal SEGV)»
01​:58 labster j​: "/".IO.mkdir
01​:58 camelia rakudo-jvm 6c0f93​: OUTPUT«Failed to create directory
'/' with mode '0o777'​: File / already exists␤ in block <unit> at
/tmp/LFlB2yNApP​:1␤␤Actually thrown at​:␤ in block <unit> at
/tmp/LFlB2yNApP​:1␤␤»
01​:58 labster looks like moarbugs
Also​:
brent@​ragnar ~/c/roast (master)> perl6 -e 'mkdir("/")'
fish​: Job 1, 'perl6 -e 'mkdir("/")'' terminated by signal SIGSEGV (Address
boundary error)

Also segfaults on OS X. JVM behavior looks OK.

The upside is that Perl 6 is so terse, you can segfault in only 10
characters!

@p6rt
Copy link
Author

p6rt commented May 11, 2016

From @smls

No longer segfaults with current r-m​:

  ➜ "/".IO.mkdir;
  Failed to create directory '/' with mode '0o777'​: Failed to mkdir​: 2

Ticket should be closable once a test has been added to Roast.

@p6rt
Copy link
Author

p6rt commented May 11, 2016

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Jul 4, 2016

From @zoffixznet

Ticket should be closable once a test has been added to Roast.

Is it really appropriate to attempt to create such directories? I'm hesitant to have roast touch things outside of its directory.

@p6rt
Copy link
Author

p6rt commented Jul 5, 2016

From @zoffixznet

Tests added​: Raku/roast@423ee643ea

@p6rt
Copy link
Author

p6rt commented Jul 5, 2016

@zoffixznet - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Jul 5, 2016
@p6rt
Copy link
Author

p6rt commented Jul 5, 2016

From @niner

Without having checked this, it looks to me like the bug was not about trying to create the root directory, but a failure to handle a permission problem trying to create a directory.

If that's true, then the test should easily be able to re-create the circumstances. Just create a temporary directory and remove your own write permissions. Then try to create a subdirectory which should fail of course. Then you can remove the temporary directory again.

@p6rt
Copy link
Author

p6rt commented Jul 28, 2016

From @geekosaur

On Mon, Jul 4, 2016 at 6​:44 PM, Zoffix Znet via RT <
perl6-bugs-followup@​perl.org> wrote​:

Ticket should be closable once a test has been added to Roast.
Is it really appropriate to attempt to create such directories? I'm
hesitant to have roast touch things outside of its directory.

It's a directory that must always exist and therefore always fail in a
consistent way.

--
brandon s allbery kf8nh sine nomine associates
allbery.b@​gmail.com ballbery@​sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

@p6rt
Copy link
Author

p6rt commented Jul 28, 2016

From zoffix@zoffix.com

And when a bug creeps in and destroy's someone's system? We already
destroyed one user's entire system with a bug in panda. It wasn't a
pretty picture.

It's fine to check failure modes on an existing directory we create
during testing, but I'm a definite -1 on attempting to much around
with '/'

Cheers,
ZZ

Quoting Brandon Allbery <allbery.b@​gmail.com>​:

On Mon, Jul 4, 2016 at 6​:44 PM, Zoffix Znet via RT <
perl6-bugs-followup@​perl.org> wrote​:

Ticket should be closable once a test has been added to Roast.
Is it really appropriate to attempt to create such directories? I'm
hesitant to have roast touch things outside of its directory.

It's a directory that must always exist and therefore always fail in a
consistent way.

--
brandon s allbery kf8nh sine nomine associates
allbery.b@​gmail.com ballbery@​sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

@p6rt
Copy link
Author

p6rt commented Jul 28, 2016

From zoffix@zoffix.com

Or we could have some extra tests category for dangerous tests.

I know make stresstest does extra tests. Would this test fit into those?

Quoting zoffix@​zoffix.com​:

And when a bug creeps in and destroy's someone's system? We already
destroyed one user's entire system with a bug in panda. It wasn't a
pretty picture.

It's fine to check failure modes on an existing directory we create
during testing, but I'm a definite -1 on attempting to much around
with '/'

Cheers,
ZZ

Quoting Brandon Allbery <allbery.b@​gmail.com>​:

On Mon, Jul 4, 2016 at 6​:44 PM, Zoffix Znet via RT <
perl6-bugs-followup@​perl.org> wrote​:

Ticket should be closable once a test has been added to Roast.
Is it really appropriate to attempt to create such directories? I'm
hesitant to have roast touch things outside of its directory.

It's a directory that must always exist and therefore always fail in a
consistent way.

--
brandon s allbery kf8nh sine nomine associates
allbery.b@​gmail.com ballbery@​sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

@p6rt
Copy link
Author

p6rt commented Jul 28, 2016

From @geekosaur

On Tue, Jul 5, 2016 at 12​:06 AM, <zoffix@​zoffix.com> wrote​:

It's fine to check failure modes on an existing directory we create during
testing, but I'm a definite -1 on attempting to much around with '/'

The only way that would misbehave would indicate a system already corrupted
beyond recovery before the test was run.

--
brandon s allbery kf8nh sine nomine associates
allbery.b@​gmail.com ballbery@​sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

@p6rt p6rt added SEGV Segmentation fault, bus error, etc. testneeded labels Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SEGV Segmentation fault, bus error, etc. testneeded
Projects
None yet
Development

No branches or pull requests

1 participant