headache on build repeatibility: octave vs BLODA ?

Marco Atzeri marco.atzeri@gmail.com
Mon Jan 27 06:45:00 GMT 2020


Am 26.01.2020 um 09:38 schrieb Marco Atzeri:
> Am 26.01.2020 um 09:05 schrieb ASSI:
>> Marco Atzeri writes:
>>> at least I know that is not just my machine.
>>> When I released the package was
>>>
>>>
>>>    libinterp/corefcn/file-io.cc-tst
>>> ............................... PASS 90/90
>>
>> Based on the test name there may be an assumption built into the code
>> about how the filesystem behaves that isn't guaranteed on Windows/Cygwin
>> or even POSIX.  If it's simply an error condition not getting checked it
>> should be reproducible under debugging, but you're mostly out of luck if
>> it's relying on a specific order or atomicity of certain operations, as
>> debugging will almost always serialize the execution to the point where
>> these types of errors do not manifest.
>>
>>
>> Regards,
>> Achim.
> 
> the other problem of debugging is that the backtrace is trash
> after the segfault and that of course Octave is a
> 400 Kg gorilla with all its dependencies..
> 
> I will try anyway
> 
> Thanks
> Marco
> 

one thing that I noticed is that the old binary I released and
the new one built are behaving differently.

So whatever is the problem that you and me are seeing and that
Takashi's system seems immune is causing a difference at
compilation time in the executable:

Old binary:

octave:2> run test-round6a.m
octave:3> run test-round6b.m

New binary:

octave:1> run test-round6a.m
fatal: caught signal Segmentation fault -- stopping myself...
Segmentation fault (core dumped)

octave:1>  run test-round6b.m
fatal: caught signal Segmentation fault -- stopping myself...
Segmentation fault (core dumped)

Can you and Takashi provide me your cygcheck.out so that I can look on 
possible difference that could influence the build behaviour.

Of course I have W10 Home and Takashi a W10 Pro an that is already
a difference.

Regards
Marco
-------------- next part --------------
f = tempname ();
fid = fopen (f, "w+");
fprintf (fid, "1\n2\n3\n4\n5\n6");
fseek (fid, 0, "bof");
c = textscan (fid, "%f %f", 2);
E = feof (fid);
fclose (fid);
unlink (f);
assert (c, {1, 2});
assert (! E);
-------------- next part --------------
f = tempname ();
fid = fopen (f, "w+");
fprintf (fid, "1\r\n2\r3\n4\r\n5\n6");
fseek (fid, 0, "bof");
c = textscan (fid, "%f %f", 4);
fclose (fid);
unlink (f);
assert (c, {[1;3], [2;4]});
-------------- next part --------------

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


More information about the Cygwin mailing list