[Gambas-user] Egads! A new (nasty) error message

adamnt42 at ...626... adamnt42 at ...626...
Sat Dec 5 00:53:02 CET 2015


On Fri, 4 Dec 2015 22:54:08 +0100
Benoît Minisini <gambas at ...1...> wrote:

> Le 04/12/2015 22:46, adamnt42 at ...626... a écrit :
> >
> >
> > I think we can stick this on the back-burner for a while.  I also
> > think you have hit the right clue, it does appear to be when a
> > (local) component is translatable and it is loaded either by the IDE
> > or the executable when running it outside the IDE.  I did not include
> > the full error message including the back trace that is displayed in
> > the message box (or the backtrace in the message area inside the IDE)
> > as it appeared to me to be totally random, e.g. it would indicate
> > different lines in different classes inside the IDE code depending on
> > "how I set my tongue"* when I tried to load the said project. (* hope
> > that is translatable?)
> >
> 
> /tmp is used for storing all temporary files created by the interpreter. 
> It's not always language files.
> 
> > One strange thing was, let's say it occurred for project xxx, when I
> > loaded it in the IDE, the IDE would abend after displaying the popup
> > message. But, if I ran the IDE inside the IDE and loaded xxx in
> > there, it didn't fail nor did it show the error.
> >
> > Anyway, I have moved /tmp to a less space constrained partition and
> > that seems to have solved my problem.
> >
> > My original query was : What does the "File too large" error message
> > mean?
> 
> It does not necessarily means something. I mean, it depends on the 
> system call returning that error.
> 
> This is the reason why I need the exact error messages returned by the 
> interpreter, and/or the line of code in the project or the IDE that 
> raises that error. Please provide them.
> 
> Regards,
> 
> -- 
> Benoît Minisini
> 
> ------------------------------------------------------------------------------
> Go from Idea to Many App Stores Faster with Intel(R) XDK
> Give your users amazing mobile app experiences with Intel(R) XDK.
> Use one codebase in this all-in-one HTML5 development environment.
> Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
> http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user


OK, I think I've got this now...
The interpreter issues a system call, then gets a fail with an error code "EFBIG". EFBIG (from searching the GNU C library docs) means "File too big; the size of a file would be larger than allowed by the system." which could occur for some number of reasons.  
In my case, it seems to have occurred because "writing or copying or moving" the said file to the /tmp directory would have (over)filled the partition.  So when the interpreter tries to write something to the /tmp directory and there would be not enough room, the system call fails with the EFBIG error code or the specific C library error description "File too large" which is then displayed as "[42] System error #27: File too large." plus the traceback.

So, I'm happy. I now understand what was happening. Thanks Benoît and Tobi.
I also understand now why it seemed so random. Given any mix of processes active and using /tmp for their valid purposes, when I tried to invoke a .gambas file or when I tried to load some project in the IDE, it could actually occur at any point during the invocation or load.

Special thanks to Tobi for the expanation of the error message - even if it took me ~8 tries and Benoît's " It does not necessarily means something. I mean, it depends on the system call returning that error." before it finally sunk in.
If there is anything positive about this, I will henceforth look at a "[42] System Error #nn" message with a lot more knowledge.

Again, thanks guys for the input.

best regards
bruce





-- 
B Bruen <adamnt42 at ...3379... (sort of)>




More information about the User mailing list