Project

General

Profile

Bug #23188

dtrace missing Kernel module

Added by Juan Ramirez almost 3 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Nice to have
Assignee:
Alexander Motin
Category:
OS
Target version:
Seen in:
Severity:
Low Medium
Reason for Closing:
Duplicate Issue
Reason for Blocked:
Needs QA:
No
Needs Doc:
No
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

Hello guys
I have tried run the dtrace command

dtrace -n 'tcp:::accept-established { @[args[3]->tcps_raddr] = count(); }'

But I got the following error:


dtrace: invalid probe specifier tcp:::accept-established { @[args[3]->tcps_raddr] = count(); }: "/usr/lib/dtrace/io.d", 
line 43: operator -> cannot be applied to a forward declaration: no struct devstat definition is available

Do you have any special reason why this module is not implemented yet in the Kernel?.

The kernel:
FreeBSD storage-library.ned 10.3-STABLE FreeBSD 10.3-STABLE #0 r295946+1805185(9.10.2-STABLE): Wed Jan 11 17:12:42 UTC 2017
root@gauntlet:/freenas-9.10-releng/_BE/objs/freenas-9.10-releng/_BE/os/sys/FreeNAS.amd64 amd64

Thank you.


Related issues

Related to FreeNAS - Bug #34609: Move FireWire drivers to modules and remove COMPAT_43TTY from kernel configDone
Has duplicate FreeNAS - Bug #24461: zilstat not working on UEFI systems - dtrace: invalid probe specifierClosed: Duplicate2017-06-10

History

#1 Updated by Bonnie Follweiler almost 3 years ago

  • Assignee set to Kris Moore

Would you please provide a debug (System->Advance->debug)

#2 Updated by Juan Ramirez almost 3 years ago

  • File debug-storage-library-20170425120447.tgz added

Hello Bonnie,
Sorry for the delay. I attached the debug.

Thank you.

Bonnie Follweiler wrote:

Would you please provide a debug (System->Advance->debug)

#3 Avatar?id=14398&size=24x24 Updated by Kris Moore almost 3 years ago

  • Assignee changed from Kris Moore to Ash Gokhale

Ash, something you'd care to investigate?

#4 Updated by Ash Gokhale almost 3 years ago

This absolutely works in base, and should in FreeNAS too, I will figure out where it went poorly.

#5 Updated by Sam Fourman almost 3 years ago

root@freenas:~ # dtrace -n 'tcp:::accept-established { @[args3->tcps_raddr] = count(); }'
dtrace: description 'tcp:::accept-established ' matched 1 probe
^C

192.168.1.74                                                      1

root@freenas:~ # uname -a
FreeBSD freenas.ixsystems.com 11.0-STABLE FreeBSD 11.0-STABLE #0 3efcb4b36(freenas/11-stable): Sun May 7 04:38:14 UTC 2017 root@gauntlet:/freenas-clean/freenas/_BE/objs/freenas-clean/freenas/_BE/os/sys/FreeNAS.amd64 amd64
root@freenas:~ #

#6 Updated by Sean Fagan almost 3 years ago

Try on a UEFI-booted system.

#7 Updated by Ash Gokhale almost 3 years ago

  • Status changed from Unscreened to Screened
  • Priority changed from No priority to Nice to have
  • Target version set to 11.1

This appears to be working in current builds ( Sam and I produced successful output on a recent build).
Can you upgrade to a current release and verify that the problem still exists?
I will revert a machine to 9.10.2 and look for the breakage; however dtrace probes in general do work on 9.10 and even 9.3 releases.

#8 Updated by Juan Ramirez almost 3 years ago

Got it, I'll do it, but I don't know when, because the server is in production and it isn't available to update in any time, let me check if I can do it this month.

Thanks.

Ash Gokhale wrote:

This appears to be working in current builds ( Sam and I produced successful output on a recent build).
Can you upgrade to a current release and verify that the problem still exists?
I will revert a machine to 9.10.2 and look for the breakage; however dtrace probes in general do work on 9.10 and even 9.3 releases.

#9 Updated by Sam Fourman almost 3 years ago

I was not able to reproduce this on the relevant build of FreeNAS

FreeBSD 10.3-STABLE (FreeNAS.amd64) #0 r295946+1805185(9.10.2-STABLE): Wed Jan 11 17:12:42 UTC 2017

FreeNAS (c) 2009-2016, The FreeNAS Development Team
All rights reserved.
FreeNAS is released under the modified BSD license.
For more information, documentation, help or support, go here:
http://freenas.org
Welcome to FreeNAS
[root@freenas] ~#
[root@freenas] ~#
[root@freenas] ~#
[root@freenas] ~# dtrace -n 'tcp:::accept-established { @[args[3]->tcps_raddr] = count(); }'
dtrace: description 'tcp:::accept-established ' matched 1 probe
^C

[root@freenas] ~# uname -a
FreeBSD freenas.local 10.3-STABLE FreeBSD 10.3-STABLE #0 r295946+1805185(9.10.2-STABLE): Wed Jan 11 17:12:42 UTC 2017 root@gauntlet:/freenas-9.10-releng/_BE/objs/freenas-9.10-releng/_BE/os/sys/FreeNAS.amd64 amd64
[root@freenas] ~# cat /etc/version
FreeNAS-9.10.2-U1 (86c7ef5)

#10 Updated by Ash Gokhale almost 3 years ago

You may try this as a alternate as the syscall provider offers a different perspective.
The SDT probes are the least stable interface and are first to suffer breakage.
If you can live with only catching userland 'accept', comment out the printf if too verbose:

#!/usr/sbin/dtrace -qs

syscall::accept:entry
        {
        lsockaddr  = (struct sockaddr*) copyin (arg1, sizeof ( struct sockaddr));
        printf ( "len 0x%x fam: %x  port:%x.%x. ip:%x.%x.%x.%x" ,
                lsockaddr->sa_len,
                lsockaddr->sa_family,
                lsockaddr->sa_data[0],
                lsockaddr->sa_data[1],
                lsockaddr->sa_data[2],
                lsockaddr->sa_data[3] ,
                lsockaddr->sa_data[4] ,
                lsockaddr->sa_data[5]
                ) ;
        @accepts_by_ip[lsockaddr->sa_data[2],lsockaddr->sa_data[3],lsockaddr->sa_data[4],lsockaddr->sa_data[5]] = count ();
        }

Although it might not be completely portable.

#11 Updated by Ash Gokhale almost 3 years ago

  • Status changed from Screened to 15

#12 Updated by Dru Lavigne over 2 years ago

  • Status changed from 15 to 46

Ash: is there anything to do here or should this ticket be closed?

#13 Updated by Ash Gokhale over 2 years ago

This is a problem. There is a build side effect that breaks certain symbol translations for EFI systems. I still don't know what the cause is. I would however, like to fix it.

#14 Updated by Sean Fagan over 2 years ago

Which different modules are loaded for EFI booting than BIOS booting?

#15 Updated by Nick Wolff over 2 years ago

I do have a reproduced system for this on Freenas 11.0-u4 . Was found while doing other testing.

#17 Updated by Dru Lavigne over 2 years ago

  • Status changed from 46 to Investigation

#18 Avatar?id=14398&size=24x24 Updated by Kris Moore over 2 years ago

  • Target version changed from 11.1 to 11.1-U1

#19 Avatar?id=14398&size=24x24 Updated by Kris Moore over 2 years ago

  • Has duplicate Bug #24461: zilstat not working on UEFI systems - dtrace: invalid probe specifier added

#20 Updated by Dru Lavigne over 2 years ago

  • Status changed from Investigation to Closed: Not Applicable
  • Target version changed from 11.1-U1 to N/A

Juan: I'm closing this out as it should be working on newer releases. If you still have this issue on an 11.1 system, please attach a debug from an 11.1 system to this ticket.

#21 Updated by Dru Lavigne over 2 years ago

  • File deleted (debug-storage-library-20170425120447.tgz)

#22 Updated by Marco . about 2 years ago

  • Seen in changed from 9.10.2-U1 to 11.1-U2

Dru Lavigne wrote:

Juan: I'm closing this out as it should be working on newer releases.

I can still reproduce it on a FreeNAS-11.1-U2 (using UEFI boot), another FreeNAS-11.1-U2 with BIOS boot works, though. Should I attach a debug?

freenas# dtrace -n 'tcp:::accept-established { @[args[3]->tcps_raddr] = count(); }'
dtrace: invalid probe specifier tcp:::accept-established { @[args[3]->tcps_raddr] = count(); }: in action list: failed to resolve translated type for args[3]

#23 Updated by Dru Lavigne about 2 years ago

  • Private changed from No to Yes

Yes please.

#24 Updated by Dru Lavigne about 2 years ago

  • Private changed from Yes to No

#25 Updated by Marco . about 2 years ago

  • File debug-freenas-20180326170318.tgz added

Dru Lavigne wrote:

Yes please.

Sorry, I missed your response. Debug attached.

#26 Updated by Dru Lavigne about 2 years ago

  • Status changed from Closed: Not Applicable to Closed

#27 Updated by Dru Lavigne about 2 years ago

  • Status changed from Closed to Not Started
  • Assignee changed from Ash Gokhale to Alexander Motin
  • Target version changed from N/A to 11.2-RC2

#28 Updated by Nick Wolff almost 2 years ago

  • Severity set to Low Medium

#29 Updated by Alexander Motin almost 2 years ago

  • Related to Bug #34609: Move FireWire drivers to modules and remove COMPAT_43TTY from kernel config added

#30 Updated by Alexander Motin over 1 year ago

  • Status changed from Not Started to Closed
  • Target version changed from 11.2-RC2 to N/A
  • Reason for Closing set to Duplicate Issue
  • Needs QA changed from Yes to No
  • Needs Doc changed from Yes to No
  • Needs Merging changed from Yes to No

This is another case of overflow on number of types.

#31 Updated by Marco . over 1 year ago

  • File deleted (debug-freenas-20180326170318.tgz)

Also available in: Atom PDF