Project

General

Profile

Bug #3750

ptools fail an assertion if libraries are lofs mountpoints

Added by Rich Lowe over 6 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
lib - userland libraries
Start date:
2013-04-25
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

Debugging a change to libdtrace, I lofs mounted my development copies over the copies in /usr (I had my reasons...)

when DTrace crashed (because of my changes), the resulting core dumps were undebuggable because any libproc consumer would ASSERT when directed to consume the dump.

We're failing this:

420            /*
421             * We know that tmp was an absolute path, so if we
422             * made it here we know that (p == tmp) and that
423             * (*p == '\\0').  This means that we've managed
424             * to check the whole path and so we're done.
425             */
426            assert(p == tmp);

... in Plofspath

The stack looks like so

 fffffd7fff2c7a3a _lwp_kill () + a
 fffffd7fff260c20 raise (6) + 20
 fffffd7fff23b548 abort () + 98
 fffffd7fff23b8ea ???????? ()
 fffffd7ffee8b199 Plofspath () + 219
 fffffd7ffee8b5ec Pzonepath () + 38c
 fffffd7ffee8b899 Pfindobj () + 79
 fffffd7ffee8baa8 Pfindmap (415460, 422180, fffffd7fffdfe260, 400) + 1d8
 fffffd7ffee7bd67 core_iter_mapping (fffffd7fffdfec80, 415460) + 417
 fffffd7ffecd5e80 iter_map () + 170
 fffffd7ffecd6530 _rd_loadobj_iter32_native () + 410
 fffffd7ffecd66dd _rd_loadobj_iter64 (419df0, fffffd7ffee7b950, 415460) + 3d
 fffffd7ffecd2c63 rd_loadobj_iter () + 63
 fffffd7ffee7ca01 Pfgrab_core () + 7b1
 fffffd7ffee9117b proc_grab_common (fffffd7fffdffc37, 0, 3, 0, fffffd7fffdffa0c, fffffd7fffdff9f8, 0) + fb
 fffffd7ffee9151d proc_arg_xgrab (fffffd7fffdffc37, 0, 3, 0, fffffd7fffdffa0c, fffffd7fffdff9f8) + 2d
 000000000040281f main () + 1ff
 000000000040251c _start () + 6c

History

#1

Updated by Robert Mustacchi over 5 years ago

See 4651 for a brief analysis from Jerry Jelinek.

#2

Updated by Robert Mustacchi over 5 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
#3

Updated by Electric Monk over 5 years ago

git commit b00e809c3e9ef3c14558dfdbbc80115ede90be81

Author: Jerry Jelinek <jerry.jelinek@joyent.com>

3750 ptools fail an assertion if libraries are lofs mountpoints
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>

Also available in: Atom PDF