I noticed that 1) this takes place very early in the starting of ganesha.nfsd, and 2)
there's nothing in the log file yet, so perhaps logging hasn't been set up yet?
-Jeff
On 7/24/20, 8:07 AM, "Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] via Devel"
<devel(a)lists.nfs-ganesha.org> wrote:
But it does enter the loop and tries to dereference a bad pointer
On 7/24/20, 5:41 AM, "Daniel Gryniewicz" <dang(a)redhat.com> wrote:
So, that shouldn't cause a crash. glist_for_each() is valid on an empty
list, and it will never enter the loop, so it should just skip the
entire block.
That said, your config looked like it had a valid facility, so there
should be an entry in that list.
Daniel
On 7/23/20 5:44 PM, Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] wrote:
I think I found the problem below - please advise. Thanks.
-Jeff
(gdb) c
Continuing.
Breakpoint 3, display_log_component_level (component=COMPONENT_NFS_V4,
file=0x2aaaaae4d5d8
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c", line=517,
function=0x2aaaaae4d7d8 <__func__.18796> "um_load",
level=NIV_WARN, format=0x2aaaaae4d7b9 "Invalid map: %s: %s",
arguments=0x7fffffff3848)
at /mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1516
1516 glist_for_each(glist, &active_facility_list) {
(gdb) p glist
$2 = (struct glist_head *) 0x0
(gdb) p active_facility_list
$3 = {next = 0x0, prev = 0x0}
On 7/23/20, 7:46 AM, "Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC]"
<jeffrey.c.becker(a)nasa.gov> wrote:
Except for specifying the conf file I provided, there are no log related arguments
on the command line. I'll continue poking in gdb to see if I can pin down the segfault
more. Thanks.
-Jeff
On 7/23/20, 5:40 AM, "Daniel Gryniewicz" <dang(a)redhat.com> wrote:
Sorry, I thought I'd replied. I don't see anything wrong. Are you
specifying anythign log related on the command line?
Frank, any ideas?
Daniel
On 7/21/20 3:06 PM, Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] via Devel
wrote:
> Do you see anything wrong? Any tests to try? Thanks.
>
> -Jeff
>
> On 7/20/20, 7:55 AM, "Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC]"
<jeffrey.c.becker(a)nasa.gov> wrote:
>
> Config below. Thanks.
>
> -Jeff
>
> On 7/20/20, 5:26 AM, "Daniel Gryniewicz"
<dang(a)redhat.com> wrote:
>
> It looks like you have a bad facility in the active_facility_list?
I'm
> not sure how this could happen, though. What's your config?
>
> jcbecker@pfe26 501$ cat
/nobackupnfs2/jcbecker/reexporter/ganesha.conf
> ###################################################
> #
> # Ganesha Config Example
> #
> # This is a commented example configuration file for Ganesha. It is
not
> # complete, but only has some common configuration options. See the
man pages
> # for complete documentation.
> #
> ###################################################
>
> ## These are core parameters that affect Ganesha as a whole.
> NFS_CORE_PARAM {
> ## Allow NFSv3 to mount paths with the Pseudo path, the same as
NFSv4,
> ## instead of using the physical paths.
> mount_path_pseudo = true;
>
> ## Configure the protocols that Ganesha will listen for. This is a
hard
> ## limit, as this list determines which sockets are opened. This
list
> ## can be restricted per export, but cannot be expanded.
> Protocols = 4;
> }
>
> ## Configure NFSv4
> NFSv4 {
> Allow_Numeric_Owners = true;
> Only_Numeric_Owners = true;
> }
>
> ## These are defaults for exports. They can be overridden
per-export.
> ## EXPORT_DEFAULTS {
> ## Access type for clients. Default is None, so some access must
be
> ## given either here or in the export itself.
> ## Access_Type = RW;
> ## }
>
> ## Configure settings for the object handle cache
> CACHEINODE {
> ## The point at which object cache entries will start being reused.
> Entries_HWMark = 100000;
> }
>
> ## Configure exports
> EXPORT
> {
> ## Export Id (mandatory, each EXPORT must have a unique Export_Id)
> Export_Id = 2222;
>
> ## Exported path (mandatory)
> Path = /nobackupp2/bvillal2/quantum/public;
>
> ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true)
> Pseudo = /quail;
>
> ## Restrict the protocols that may use this export. This cannot
allow
> ## access that is denied in NFS_CORE_PARAM.
> #Protocols = 3,4;
>
> ## Access type for clients. Default is None, so some access must
be
> ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT
block
> Access_Type = RW;
>
> ## Whether to squash various users.
> Squash = root_squash;
>
> ## Allowed security types for this export
> #Sectype = sys,krb5,krb5i,krb5p;
>
> ## Exporting FSAL
> FSAL {
> Name = PROXY;
> Srv_Addr = 10.151.27.27;
> }
> CLIENT
> {
> Clients = 129.99.10.111;
> }
>
> }
> ## Configure logging. Default is to log to Syslog. Basic logging can
also be
> ## configured from the command line
> LOG {
> ## Default log level for all components
> Default_Log_Level = INFO;
>
> ## Configure per-component log levels.
> Components {
> FSAL = INFO;
> NFS4 = MID_DEBUG;
> EXPORT = MID_DEBUG;
> }
>
> ## Where to log
> Facility {
> name = FILE;
> destination =
"/mnt/nbnfs2/jcbecker/reexporter/var/log/ganesha.log";
> enable = active;
> }
> }
>
> Daniel
>
> On 7/17/20 3:36 PM, Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] via
Devel
> wrote:
> > My bad - I added the format string to get a slightly
different traceback below (as I explained to Frank Filz, I originally had the call you
suggest without errstr, and got pretty much the same segfault). I'll keep exploring in
gdb. Advice appreciated. Thanks.
> >
> > -Jeff
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x00002aaaaad43cac in display_log_component_level
(component=COMPONENT_NFS_V4,
> > file=0x2aaaaae4d5f8
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c", line=519,
function=0x2aaaaae4d7fb <__func__.18797> "um_load",
> > level=NIV_WARN, format=0x2aaaaae4d7ed "%s",
arguments=0x7fffffff2718)
> > at
/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1519
> > 1519 if (level <= facility->lf_max_level
> >
> > (gdb) where
> > #0 0x00002aaaaad43cac in display_log_component_level (
> > component=COMPONENT_NFS_V4,
> > file=0x2aaaaae4d5f8
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c", line=519,
function=0x2aaaaae4d7fb <__func__.18797> "um_load",
> > level=NIV_WARN, format=0x2aaaaae4d7ed "%s",
arguments=0x7fffffff2718)
> > at
/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1519
> > #1 0x00002aaaaad43dfe in DisplayLogComponentLevel (
> > component=COMPONENT_NFS_V4,
> > file=0x2aaaaae4d5f8
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c", line=519,
function=0x2aaaaae4d7fb <__func__.18797> "um_load",
> > level=NIV_WARN, format=0x2aaaaae4d7ed "%s")
> > at
/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1704
> > #2 0x000
> >
> > On 7/17/20, 11:42 AM, "Daniel Gryniewicz"
<dang(a)redhat.com> wrote:
> >
> > LogWarn() (and the others like it) are printf-alikes, so
they need a?
> > format parameter. It would be called like this:
> >
> > LogWarn(COMPONENT_NFS_V4, "%s", errstr);
> >
> > But, you don't need the errstr at all, you can just
call like this:
> >
> > LogWarn(COMPONENT_NFS_V4, "Invalid map: %s:
%s", clue, line);
> >
> > Daniel
> >
> > On 7/17/20 12:52 PM, Becker, Jeffrey C. (ARC-TN)[InuTeq,
LLC] via Devel
> > wrote:
> > > Hi,
> > >
> > > I’m trying to call your logging as follows:
> > >
> > > sprintf(errstr, "Invalid map:
%s: %s", clue, line);
> > >
> > > LogWarn(COMPONENT_NFS_V4,
errstr);
> > >
> > > I’m getting a segfault in LogWarn.
> > >
> > > Program received signal SIGSEGV, Segmentation
fault.
> > >
> > > 0x00002aaaaad43ca4 in display_log_component_level
> > > (component=COMPONENT_NFS_V4,
> > >
> > > file=0x2aaaaae4d5d8
> > >
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c",
> > > line=519, function=0x2aaaaae4d7d8
<__func__.18797> "um_load",
> > >
> > > level=NIV_WARN,
> > >
> > > format=0x7fffffffc470 "Invalid map:
unknown_user: dataset:
> > > 129.99.10.111 \t21102:61856 dataset n1856",
arguments=0x7fffffff2718)
> > >
> > > at
> > >
/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1519
> > >
> > > 1519 if (level
<=
> > > facility->lf_max_level
> > >
> > > The traceback is below. I’m investigating, but any
advice is welcome.
> > > Thanks.
> > >
> > > -Jeff
> > >
> > > (gdb) where
> > >
> > > #0 0x00002aaaaad43ca4 in
display_log_component_level (
> > >
> > > component=COMPONENT_NFS_V4,
> > >
> > > file=0x2aaaaae4d5d8
> > >
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c",
> > > line=519, function=0x2aaaaae4d7d8
<__func__.18797> "um_load",
> > >
> > > level=NIV_WARN,
> > >
> > > format=0x7fffffffc470 "Invalid map:
unknown_user: dataset:
> > > 129.99.10.111 \t21102:61856 dataset n1856",
arguments=0x7fffffff2718)
> > >
> > > at
> > >
/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1519
> > >
> > > #1 0x00002aaaaad43df6 in DisplayLogComponentLevel
(
> > >
> > > component=COMPONENT_NFS_V4,
> > >
> > > file=0x2aaaaae4d5d8
> > >
"/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/uidmap/uidmap.c",
> > > line=519, function=0x2aaaaae4d7d8
<__func__.18797> "um_load",
> > >
> > > level=NIV_WARN,
> > >
> > > format=0x7fffffffc470 "Invalid map:
unknown_user: dataset:
> > > 129.99.10.111 \t21102:61856 dataset n1856")
> > >
> > > at
> > >
/mnt/nbnfs2/jcbecker/reexporter/nfs-ganesha/src/log/log_functions.c:1704
> > >
> > >
> > > _______________________________________________
> > > Devel mailing list -- devel(a)lists.nfs-ganesha.org
> > > To unsubscribe send an email to
devel-leave(a)lists.nfs-ganesha.org
> > >
> >
> >
> > _______________________________________________
> > Devel mailing list -- devel(a)lists.nfs-ganesha.org
> > To unsubscribe send an email to
devel-leave(a)lists.nfs-ganesha.org
> >
>
>
>
> _______________________________________________
> Devel mailing list -- devel(a)lists.nfs-ganesha.org
> To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org
>
_______________________________________________
Devel mailing list -- devel(a)lists.nfs-ganesha.org
To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org