This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Middle ware crash in 8.202

Ever since I upgraded to 8.2 I have had recurring crash of middle ware with the following events logged in the middle ware log.
 >=========================================================================
2011:10:16-13:58:24 edge middleware[5243]: E Bizarre copy of ARRAY in aassign at /utils/File.pm line 149,  line 1.
2011:10:16-13:58:24 edge middleware[5243]: 
2011:10:16-13:58:24 edge middleware[5243]:  1. main::_warn:150() mdw.pl
2011:10:16-13:58:24 edge middleware[5243]:  2. main::_die:147() mdw.pl
2011:10:16-13:58:24 edge middleware[5243]:  3. utils::File::Read:149() /utils/File.pm
2011:10:16-13:58:24 edge middleware[5243]:  4. utils::File::WriteCrontab:456() /utils/File.pm
2011:10:16-13:58:24 edge middleware[5243]:  5. modules::executive_report::_set_crontab:97() /modules/executive_report.pm
2011:10:16-13:58:24 edge middleware[5243]:  6. modules::executive_report::setAll:182() /modules/executive_report.pm
2011:10:16-13:58:24 edge middleware[5243]:  7. core::Config::load:277() /core/Config.pm
2011:10:16-13:58:24 edge middleware[5243]:  8. main::top-level:199() mdw.pl
2011:10:16-13:58:42 edge middleware[3255]: T main::top-level:62() => MiddleWare starting

When this happens I get a E-mail as follows
Dyndns daemon not running - restarted
-- 
System Uptime      : 13 days 1 hour 0 minutes
System Load        : 0.44
System Version     : Astaro Security Gateway 8.202

Please refer to the manual for detailed instructions.

Then
Middleware not running - restarted
-- 
System Uptime      : 13 days 1 hour 0 minutes
System Load        : 0.14
System Version     : Astaro Security Gateway 8.202

Please refer to the manual for detailed instructions.

After that the following is noticed.
1. On the dash board the WAN interface does not register numbers for incoming or outgoing traffic. All other interfaces seem not effected.
2. L2TP VPN does not work for clients until I recycle it to disable then enable or reboot.
3. UPS seems to not always work correctly after this unless I restart the UPS Service.

I posted in another section some time ago and thought that I had the issue resolved after turning off AppAccuracy Program. However I still seen crashes after. Since then I have tried the following
1. Turned off network visibility
2. Turned off Web security
3. Turned off DYNDNS updater
4. Re imaged from scratch and reload the backup.
5. Changed the Hard Drive


Since this is the same HW I have been using for older versions and this only started with 8.2 something changed and it is extremely frustrating as some times it takes up to 13 Days before displaying the symptoms. It seems clear that this line is saying there is an issue with this file.  E Bizarre copy of ARRAY in aassign at /utils/File.pm line 149,  line 1.
But what does this file do I have no clue. Please if someond can help I can upload any logs you ask for.


This thread was automatically locked due to age.
  • The message "Bizarre copy..." is documented in perldiag(1) as an "an internal error you should never see", so very likely you are not suffering from an error in the Astaro Security Gateway Software, but from an error in the interpreter of the Perl programming language itself.  That's not an excuse for not helping you, but it's an indication that fixing this bug might be a bit harder than fixing the average bug.

    I have started looking at the C source code of the Perl interpreter and have a rough idea in which area i might continue the hunt for the bug.  However, understanding that code is quite hard and time-consuming, and i'd rather not waste my time at the wrong place.

    So, to definitely confirm my suspicion where to start the search, could you please go to the directory /var/log/mdw on your machine and prepare a compressed archive file (for example, .tar.gz) of several of the log files you find in that directory?  What is important is that the files contain many instances of the problem: two or three would be too few, 20 would be fine, more than 50 is pointless.  So how many files to zip up depends on the frequency of the problem.

    Please mail that archive to me (my UBB username at astaro dot com).
    If you don't understand what i'm talking about, don't hesitate to mail me for more verbose instructions.

    What i need to check is whether the crashes all look *exactly* the same, or whether there are tiny differences between them.

    One other thing that might help to track down the problem:
    Please go to /etc and tar up the crontab files (before disabling executive reports, see below), like this:

      # cd /etc
      # tar -czvf /root/crontab.tar.gz crontab*

    Please mail the file crontab.tar.gz to me, too.


    When this happens I get a E-mail as follows
    Dyndns daemon not running - restarted


    That - and some of the other problems you list - very probably just follow from the fact that the MiddleWare dies.  MiddleWare crashes can have all sorts of uncomfortable consequences.  We need to get at the root cause, i.e. what kills the Perl interpreter.


    Since then I have tried the following
    1. Turned off network visibility
    2. Turned off Web security
    3. Turned off DYNDNS updater


    Uh oh.  I can't exclude that this is due to one specific service until i find the root cause, but i kind of doubt it, the problem looks rather generic.
    In the specific case you report, it crashed while working on the executive report.  So please try to turn off everything on Logging & Reporting >> Executive Report >> Configuration.  That is, on that page, for daily, weekly, and monthly, uncheck all checkboxes, remove all mail addresses, and click all Apply buttons.  It is not very likely that will solve the problem, but *if* it does, we know more than we do now.


    4. Re imaged from scratch and reload the backup.


    That was actually quite a useful test, because the Perl installation might have been damaged on your disks, which we can exclude now.  Thanks for testing that.


    5. Changed the Hard Drive


    If bad hardware causes erratic behaviour of programs, bad RAM is more often the cause than bad disks; however, this does not particularly look like bad hardware in the first place.  With bad hardware, you usually get erratic segmentation faults in random programs, *not* trappable errors in interpreted languages like Perl, and above all not always in the same program.


    It seems clear that this line is saying there is an issue with this file.
      E Bizarre copy of ARRAY in aassign at /utils/File.pm line 149,  line 1.
    But what does this file do I have no clue. Please if someond can help I can upload any logs you ask for.


    Well, utils::File is a collection of Perl utility functions the MiddleWare uses to read and write files from and to disk; actually, you can look at very similar (though not exactly identical) code in /var/lib/Astaro/file.pm.

    You are right that this message points to the root cause of your problems; however, i consider it highly unlikely that the bug will be found in utils::File. I rather suspect code in the Perl core, like sv.c or pp_hot.c or somewhere in the vicinity, round here:

      perl5.git.perl.org Git - perl.git/tree

    Yeah, that looks scary, right?     
    That's what you make me read and debug.  =;-|

    Yours,
      Ingo
  • Thank you so much for helping. I will work on getting this to you ASAP.
  • sent you logs to your email address. Please let me know if you did not get them. Thanks again