Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Every morning I have a "crash report" why?

    Scheduled Pinned Locked Moved pfBlockerNG
    14 Posts 2 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • BlueCoffeeB
      BlueCoffee
      last edited by BlueCoffee

      I keep seening the error every morning what it is and why do I get it?

      PHP ERROR: Type: 1, File: /usr/local/pkg/pfblockerng/pfblockerng.inc, Line: 8279, Message: Uncaught TypeError: Unsupported operand types: int + string in /usr/local/pkg/pfblockerng/pfblockerng.inc:8279
      Stack trace:
      #0 /usr/local/www/pfblockerng/pfblockerng.php(625): sync_package_pfblockerng('cron')
      #1 /usr/local/www/pfblockerng/pfblockerng.php(155): pfblockerng_sync_cron()
      #2 {main}
      thrown @ 2023-09-02 23:00:12
      
      Crash report begins.  Anonymous machine information:
      
      amd64
      14.0-CURRENT
      FreeBSD 14.0-CURRENT #1 RELENG_2_7_0-n255866-686c8d3c1f0: Wed Jun 28 04:21:19 UTC 2023     root@freebsd:/var/jenkins/workspace/pfSense-CE-snapshots-2_7_0-main/obj/amd64/LwYAddCr/var/jenkins/workspace/pfSense-CE-snapshots-2_7_0-main/sources/FreeBSD-src-REL
      
      Crash report details:
      
      PHP Errors:
      [02-Sep-2023 23:00:12 Europe/London] PHP Fatal error:  Uncaught TypeError: Unsupported operand types: int + string in /usr/local/pkg/pfblockerng/pfblockerng.inc:8279
      Stack trace:
      #0 /usr/local/www/pfblockerng/pfblockerng.php(625): sync_package_pfblockerng('cron')
      #1 /usr/local/www/pfblockerng/pfblockerng.php(155): pfblockerng_sync_cron()
      #2 {main}
        thrown in /usr/local/pkg/pfblockerng/pfblockerng.inc on line 8279
      
      
      
      No FreeBSD crash data found.
      
      GertjanG 1 Reply Last reply Reply Quote 0
      • GertjanG
        Gertjan @BlueCoffee
        last edited by

        @BlueCoffee

        ...
        								$file_esc		= escapeshellarg("{$pfbfolder}/{$header}.txt");
        								$list_cnt		= exec("{$pfb['grep']} -c ^ {$file_esc}");
        								$alias_cnt		= $alias_cnt + $list_cnt;
        ....
        

        $alias_cnt is set to zero a little bit earlier.
        I looks like 'grep -c {$pfbfolder}/{$header}.txt' returns a text string, and not an int.

        The file exists, as this is checked just above.

        Add this line just before the failing line, so you can see in the log what file is used - why it fails

        								$log = "\n[ {$pfb['grep']} -c ^ {$file_esc} ]{$logtab} CHECK ME line 8279 [ NOW ]";
        

        No "help me" PM's please. Use the forum, the community will thank you.
        Edit : and where are the logs ??

        BlueCoffeeB 1 Reply Last reply Reply Quote 0
        • BlueCoffeeB
          BlueCoffee @Gertjan
          last edited by BlueCoffee

          @Gertjan hmm okay add this text to pfblockerng.inc line 8279?

          this code?

          $log = "\n[ {$pfb['grep']} -c ^ {$file_esc} ]{$logtab} CHECK ME line 8279 [ NOW ]";
          

          where will the log be after adding this?

          also how would I add this to that line I understand the basic debain commands but know zero FreeBSD commands

          GertjanG 1 Reply Last reply Reply Quote 0
          • GertjanG
            Gertjan @BlueCoffee
            last edited by

            @BlueCoffee said in Every morning I have a "crash report" why?:

            this code?

            Like this :

            								$file_esc		= escapeshellarg("{$pfbfolder}/{$header}.txt");
            								$list_cnt		= exec("{$pfb['grep']} -c ^ {$file_esc}");
            								$log = "\n[ {$pfb['grep']} -c ^ {$file_esc} ]{$logtab} CHECK ME line 8279 [ NOW ]";
            								$alias_cnt		= $alias_cnt + $list_cnt;
            

            @BlueCoffee said in Every morning I have a "crash report" why?:

            where will the log be after adding this?

            Here I guess :

            Firewall > pfBlockerNG > Update
            and do a full update.

            Or eventually under :

            194f132e-6df8-47bf-84b1-a05495f44082-image.png

            No "help me" PM's please. Use the forum, the community will thank you.
            Edit : and where are the logs ??

            BlueCoffeeB 2 Replies Last reply Reply Quote 1
            • BlueCoffeeB
              BlueCoffee @Gertjan
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • BlueCoffeeB
                BlueCoffee @Gertjan
                last edited by BlueCoffee

                @Gertjan Thanks ive done it and the logs are huge, but I don't see anything bad myself

                logs.txt

                GertjanG 1 Reply Last reply Reply Quote 0
                • GertjanG
                  Gertjan @BlueCoffee
                  last edited by

                  @BlueCoffee

                  Not huge, it just contains the update date process, by the cron or manually, for the last several days.
                  Yours start at around 09/1/23 21:00:12

                  Your latest update is from just now : UPDATE PROCESS ENDED [ 09/4/23 09:13:12 ]

                  But the log line didn't log - the offending code wasn't executed. So no PHP error.

                  Let's wait until next morning ^^
                  You should be able to find this text "CHECK ME" in the log, as it is a unique text sequence.

                  No "help me" PM's please. Use the forum, the community will thank you.
                  Edit : and where are the logs ??

                  BlueCoffeeB 1 Reply Last reply Reply Quote 1
                  • BlueCoffeeB
                    BlueCoffee @Gertjan
                    last edited by

                    @Gertjan said in Every morning I have a "crash report" why?:

                    @BlueCoffee

                    Not huge, it just contains the update date process, by the cron or manually, for the last several days.
                    Yours start at around 09/1/23 21:00:12

                    Your latest update is from just now : UPDATE PROCESS ENDED [ 09/4/23 09:13:12 ]

                    But the log line didn't log - the offending code wasn't executed. So no PHP error.

                    Let's wait until next morning ^^
                    You should be able to find this text "CHECK ME" in the log, as it is a unique text sequence.

                    I will look out for it thanks Gertjan

                    BlueCoffeeB 1 Reply Last reply Reply Quote 0
                    • BlueCoffeeB
                      BlueCoffee @BlueCoffee
                      last edited by

                      @BlueCoffee So I got it today but its differant this time around?

                      Crash report begins.  Anonymous machine information:
                      
                      amd64
                      14.0-CURRENT
                      FreeBSD 14.0-CURRENT #1 RELENG_2_7_0-n255866-686c8d3c1f0: Wed Jun 28 04:21:19 UTC 2023     root@freebsd:/var/jenkins/workspace/pfSense-CE-snapshots-2_7_0-main/obj/amd64/LwYAddCr/var/jenkins/workspace/pfSense-CE-snapshots-2_7_0-main/sources/FreeBSD-src-REL
                      
                      Crash report details:
                      
                      PHP Errors:
                      [08-Sep-2023 14:23:40 Europe/London] PHP Fatal error:  Uncaught TypeError: Unsupported operand types: string / int in /etc/inc/util.inc:2409
                      Stack trace:
                      #0 /etc/inc/pfsense-utils.inc(1902): get_memory()
                      #1 /usr/local/www/includes/functions.inc.php(104): pfsense_default_state_size()
                      #2 /usr/local/www/includes/functions.inc.php(35): get_pfstate()
                      #3 /usr/local/www/getstats.php(40): get_stats(Array)
                      #4 {main}
                        thrown in /etc/inc/util.inc on line 2409
                      
                      GertjanG 1 Reply Last reply Reply Quote 0
                      • GertjanG
                        Gertjan @BlueCoffee
                        last edited by

                        @BlueCoffee said in Every morning I have a "crash report" why?:

                        /etc/inc/util.inc:2409

                        Can you show that exact line on your pfSense ?

                        It's not https://github.com/pfsense/pfsense/blob/94eaa720e7f8c3c3106b3702ca0d16a519bf5b2e/src/etc/inc/util.inc#L2409C2-L2409C2 so you probably are using the System patches package, so lines are a bit different.

                        No "help me" PM's please. Use the forum, the community will thank you.
                        Edit : and where are the logs ??

                        BlueCoffeeB 1 Reply Last reply Reply Quote 0
                        • BlueCoffeeB
                          BlueCoffee @Gertjan
                          last edited by BlueCoffee

                          @Gertjan

                          This is what I have on that line

                          	return array(($physmem/1048576), ($realmem/1048576));
                          

                          The whole function is

                          function get_memory() {
                          	$physmem = get_single_sysctl("hw.physmem");
                          	$realmem = get_single_sysctl("hw.realmem");
                          	/* convert from bytes to megabytes */
                          	return array(($physmem/1048576), ($realmem/1048576));
                          
                          GertjanG 1 Reply Last reply Reply Quote 0
                          • GertjanG
                            Gertjan @BlueCoffee
                            last edited by Gertjan

                            @BlueCoffee said in Every morning I have a "crash report" why?:

                            return array(($physmem/1048576), ($realmem/1048576));

                            Ok, thanks.
                            For some reason, "$realmem" a PHP variable, didn't contain something that looks like an 'integer', but a text string like an error message ? or a null == "" string, which was in the past, after a implicit cast to a value integer '0', and now, with PHP 8,x, which uses far stronger type checking, it fails.
                            Take note : thinking out loud here.

                            "$realmem" should of course contain something like "4194304" which is 4 Mbytes for a 4 Mbytes system.
                            On your system, something else is return.
                            And that makes PHP fail .....

                            edit : or $physmem

                            No "help me" PM's please. Use the forum, the community will thank you.
                            Edit : and where are the logs ??

                            BlueCoffeeB 1 Reply Last reply Reply Quote 0
                            • BlueCoffeeB
                              BlueCoffee @Gertjan
                              last edited by

                              @Gertjan said in Every morning I have a "crash report" why?:

                              @BlueCoffee said in Every morning I have a "crash report" why?:

                              return array(($physmem/1048576), ($realmem/1048576));

                              Ok, thanks.
                              For some reason, "$realmem" a PHP variable, didn't contain something that looks like an 'integer', but a text string like an error message ? or a null == "" string, which was in the past, after a implicit cast to a value integer '0', and now, with PHP 8,x, which uses far stronger type checking, it fails.
                              Take note : thinking out loud here.

                              "$realmem" should of course contain something like "4194304" which is 4 Mbytes for a 4 Mbytes system.
                              On your system, something else is return.
                              And that makes PHP fail .....

                              edit : or $physmem

                              All that seems way over my head pal im no coder :) I never had any errors on my old PFsense box. after I moved to this little box errors seem to be poping up all over.

                              Should I post this error ina new thread do you think?

                              GertjanG 1 Reply Last reply Reply Quote 0
                              • GertjanG
                                Gertjan @BlueCoffee
                                last edited by

                                @BlueCoffee said in Every morning I have a "crash report" why?:

                                Should I post this error ina new thread do you think?

                                We'll leave that to the forum admins ^^

                                here :

                                	log_error(sprintf('hw.physmem = "%s" - hw.realmem = "%s"', $physmem, $realmem));
                                

                                Do you think you can manage to edit the file, make it look like this :

                                94fe540a-dade-4d6a-ae39-38e1097877ae-image.png

                                Now go to the pfSense GUI dashboard.
                                And then to the location where the answers are : the logs :

                                a63f8325-f7e6-4617-8d64-9d2e7040762b-image.png

                                You saw I what I have. Both are probably strings that can easily be converted to integer numbers.
                                Now : your turn.

                                @BlueCoffee said in Every morning I have a "crash report" why?:

                                I moved to this little box

                                What little box ?

                                No "help me" PM's please. Use the forum, the community will thank you.
                                Edit : and where are the logs ??

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.