Ganesha logging segfault
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
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@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
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@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@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
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? 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@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@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
_______________________________________________ Devel mailing list -- devel@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
Config below. Thanks. -Jeff On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
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@nasa.gov> wrote: Config below. Thanks. -Jeff On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
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@nasa.gov> wrote:
Config below. Thanks.
-Jeff
On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
_______________________________________________ Devel mailing list -- devel@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
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@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@nasa.gov> wrote: > > Config below. Thanks. > > -Jeff > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > _______________________________________________ > > Devel mailing list -- devel@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
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@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@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@nasa.gov> wrote: > > Config below. Thanks. > > -Jeff > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > _______________________________________________ > > Devel mailing list -- devel@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
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@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@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@nasa.gov> wrote: > > Config below. Thanks. > > -Jeff > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > _______________________________________________ > > Devel mailing list -- devel@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
But it does enter the loop and tries to dereference a bad pointer On 7/24/20, 5:41 AM, "Daniel Gryniewicz" <dang@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@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@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@nasa.gov> wrote: > > > > Config below. Thanks. > > > > -Jeff > > > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > _______________________________________________ > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > _______________________________________________ > > Devel mailing list -- devel@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > >
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@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@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@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@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@nasa.gov> wrote: > > > > Config below. Thanks. > > > > -Jeff > > > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > _______________________________________________ > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > _______________________________________________ > > Devel mailing list -- devel@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > _______________________________________________ Devel mailing list -- devel@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
Oh, wait. That's not an empty list, it's an uninitialized list. Something is trying to log before init_logging() has been called, which, of course, won't work. That's called *super* early in startup (right after command line arguments are parsed), so it should be easy to avoid logging that early. Daniel On 7/24/20 11:16 AM, Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] wrote:
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@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@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@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@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@nasa.gov> wrote: > > > > Config below. Thanks. > > > > -Jeff > > > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > _______________________________________________ > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > _______________________________________________ > > Devel mailing list -- devel@lists.nfs-ganesha.org > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > >
_______________________________________________ Devel mailing list -- devel@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
The call that initiated the segfault happens during command line processing. On 7/24/20, 8:48 AM, "Daniel Gryniewicz" <dang@redhat.com> wrote: Oh, wait. That's not an empty list, it's an uninitialized list. Something is trying to log before init_logging() has been called, which, of course, won't work. That's called *super* early in startup (right after command line arguments are parsed), so it should be easy to avoid logging that early. Daniel On 7/24/20 11:16 AM, Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] wrote: > 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@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@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@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@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@nasa.gov> wrote: > > > > > > Config below. Thanks. > > > > > > -Jeff > > > > > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > > > > > _______________________________________________ > > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > > > > _______________________________________________ > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org >
I added a site-local feature to Ganesha that is enabled by a command line option. It's one of my functions that's trying to log. On 7/24/20, 8:51 AM, "Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] via Devel" <devel@lists.nfs-ganesha.org> wrote: The call that initiated the segfault happens during command line processing. On 7/24/20, 8:48 AM, "Daniel Gryniewicz" <dang@redhat.com> wrote: Oh, wait. That's not an empty list, it's an uninitialized list. Something is trying to log before init_logging() has been called, which, of course, won't work. That's called *super* early in startup (right after command line arguments are parsed), so it should be easy to avoid logging that early. Daniel On 7/24/20 11:16 AM, Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] wrote: > 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@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@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@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@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@nasa.gov> wrote: > > > > > > Config below. Thanks. > > > > > > -Jeff > > > > > > On 7/20/20, 5:26 AM, "Daniel Gryniewicz" <dang@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@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@lists.nfs-ganesha.org > > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > > > > > _______________________________________________ > > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > > > > > _______________________________________________ > > > Devel mailing list -- devel@lists.nfs-ganesha.org > > > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > > > > > > > > > > > > _______________________________________________ > Devel mailing list -- devel@lists.nfs-ganesha.org > To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org > _______________________________________________ Devel mailing list -- devel@lists.nfs-ganesha.org To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
participants (2)
-
Becker, Jeffrey C. (ARC-TN)[InuTeq, LLC] -
Daniel Gryniewicz