[issue29269] test_socket failing in solaris

2020-08-03 Thread Brian Vandenberg


Brian Vandenberg  added the comment:

I accidentally hit submit too early.

I tried changing the code in posixmodule.c to use lseek(), something like the 
following:

offset = lseek( in, 0, SEEK_CUR );

do {
  ret = sendfile(...);
} while( ... );
lseek( in, offset, SEEK_SET );

... however, in addition to readfile not advancing the file pointer it also 
doesn't seem to cause an EOF condition.  In my first attempt at the above I was 
doing this after the loop:

lseek( in, offset, SEEK_CUR );

... and it just kept advancing the file pointer well beyond the end of the file 
and sendfile() had absolutely no qualms about reading beyond the end of the 
file.

I even tried adding a read() after the 2nd lseek to see if I could force an EOF 
condition but that didn't do it.

--

___
Python tracker 
<https://bugs.python.org/issue29269>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29269] test_socket failing in solaris

2020-08-03 Thread Brian Vandenberg


Brian Vandenberg  added the comment:

Christian, you did exactly what I needed.  Thank you.

I don't have the means to do a git bisect to find where it broke.  It wasn't a 
problem around 3.3 timeframe and I'm not sure when this sendfile stuff was 
implemented.

The man page for sendfile says "The sendfile() function does not modify the 
current file pointer of in_fd, (...)".  In other words the read pointer for the 
input descriptor won't be advanced.  They expect you to use it like this:

offset = 0;
do {
  ret = sendfile(in, out, , len);
} while( ret < 0 && (errno == EAGAIN || errno == EINTR) );

... though making that change in posixmodule.c would break this test severely 
since the send & receive code is running on the same thread.

In posixmodule.c I don't see anything that attempts to return the number of 
bytes successfully sent.  Since the input file descriptor won't have its read 
pointer advanced, the variable "offset" must be set to the correct offset 
value, otherwise it just keeps reading the first 32k of the file that was 
generated for the test.

--

___
Python tracker 
<https://bugs.python.org/issue29269>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29269] test_socket failing in solaris

2020-08-02 Thread Brian Vandenberg


Brian Vandenberg  added the comment:

Solaris will be around for at least another 10-15 years.

The least you could do is look into it and offer some speculations.

--

___
Python tracker 
<https://bugs.python.org/issue29269>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29325] pysqlite: Evaluate removal of sqlite3_stmt_readonly

2017-01-19 Thread Brian Vandenberg

New submission from Brian Vandenberg:

I'm not sure where to request changes to pysqlite, so my apologies if this 
isn't the right place.

To begin with: I'll either end up building a newer version of sqlite myself or 
just accepting that pysqlite won't be part of this python installation.  
However, I thought it might be useful to know that use of the function 
"sqlite3_stmt_readonly" is the only thing tying pysqlite to the current minimum 
requirement to use sqlite 3.7.4.

The currently available 'supported' version of sqlite for RHEL6 is 3.6.x and 
there's likely others out there who (for whatever reason) are stuck on an older 
release of sqlite and moving to the latest & greatest OS isn't [currently] 
feasible.

--
components: Extension Modules
messages: 285804
nosy: phantal
priority: normal
severity: normal
status: open
title: pysqlite: Evaluate removal of sqlite3_stmt_readonly
type: enhancement

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29325>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29272] test_logging hangs if /etc/hosts only aliases "localhost" to ::1

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

On some of the linux boxes on our (air-gapped, if that matters) network it 
looks like some of them were mis-configured and their /etc/hosts file looks 
something like this:

$ cat /etc/hosts
127.0.0.1 snoopy.the.internal.domain snoopy localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

... whereas for other linux machines not exhibiting this problem:

$ cat /etc/hosts
127.0.0.1 woodstock.the.internal.domain woodstock localhost 
localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

It appears this is causing test_logging to hang while running SocketHandlerTest.

Unfortunately I don't have administrative privileges so I'm not able to prove 
I'm right.  I only have circumstantial evidence, but no machine I tested (about 
20 machines) contradicts what I stated above.

--
components: Tests
messages: 285452
nosy: phantal
priority: normal
severity: normal
status: open
title: test_logging hangs if /etc/hosts only aliases "localhost" to ::1
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29272>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29265] os.cpu_count is problematic on sparc/solaris

2017-01-13 Thread Brian Vandenberg

Brian Vandenberg added the comment:

> It doesn't cause any real problem with the tests, though.  I routinely run 
> with -j40 on my 2 cpu test box because the test run completes faster that way 
> due to the way many tests spend time waiting for various things.

In my case it did because it caused enough file descriptors to be allocated 
that it hit the cap for max open file handles.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29265>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29269] test_socket failing in solaris

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

I started looking into this failure to see if I could figure out why but it 
looks like I'd have to spend more time than I have available to figure out the 
cause.

Environment/setup:
* air-gapped network (no internet access)
* sparc / Solaris 10
* Built with gcc 6.3.0
* Altered configure script to change -std=c99 to -std=gnu99 (see issue 29264)
* The only configure flags used were --prefix and --with-universal-archs=all


When I run test_socket I see the following 4 failures; please note, I'm hand 
typing the results so I may typo something:


ERROR: testCount (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 5248, in testCount
  File "(...)/test_socket.py", line 5151, in recv_data
MemoryError

Error: testCount (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 277, in _tearDown
  File "(...)/test_socket.py", line 289, in clientRun
  File "(...)/test_socket.py", line 5241, in _testCount
  File "(...)/Lib/socket.py", line 296, in _sendfile_use_sendfile
socket.timeout: timed out

Error: testWithTimeout (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 5318, in testWithTimeout
data = self.recv_data(conn)
  File "(...)/test_socket.py", line 5151, in recv_data
chunk = conn.recv(self.BUFSIZE)
MemoryError

Error: testWithTimeout (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 277, in _tearDown
raise exc
  File "(...)/test_socket.py", line 289, in clientRun
test_func()
  File "(...)/test_socket.py", line 5313, in _testWithTimeout
sent = meth(file)
  File "(...)/Lib/socket.py", line 296, in _sendfile_use_sendfile
socket.timeout: timed out

Error: testCountWithOffset (test.test_socket.SendfileUsingSendfileTest)
Traceback:
  File "(...)/test_socket.py", line 5287, in testCountWithOffset
self.assertEqual(len(data), count)
AssertionError: 4376231 != 17

Ran 539 tests in 69.166s

FAILED (failures=1, errors=4, skipped=324)
test test_socket failed

--
components: Tests
messages: 285440
nosy: phantal
priority: normal
severity: normal
status: open
title: test_socket failing in solaris
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29269>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29268] test_spwd fails on solaris using NIS users

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

On all our solaris 10 machines when I run a simple test program it never 
reports a failure when calling getspnam:

   #include 
   #include 
   int main( int, char** ) {
 spwd *asdf = getspnam( "some_user" );
 if( NULL == sdf ) {
   perror( "getspnam" );
 }
 return 0;
   }

If I run the above program on our linux boxes it fails as expected, but on our 
solaris machines it produces the same information you'd see running "ypcat 
passwd | grep some_user".

I suspect either there's a bug in the solaris implementation of getpwnam() or 
perhaps there's a configuration issue on our solaris machines, though it's also 
possible this is just how it behaves in Solaris (at least with NIS).

As to whether anything should change for test_spwd -- I suspect this will get 
closed as "won't fix" but at least this report may help anyone else running 
into this failure.

--
components: Tests
messages: 285439
nosy: phantal
priority: normal
severity: normal
status: open
title: test_spwd fails on solaris using NIS users
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29268>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29267] Cannot override some flags in CFLAGS from the command-line

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

Due to issue 29264 I was attempting to override the build default "-std=c99" 
with:

/path/to/configure (...) CFLAGS=-std=gnu99

... however, the configure script is written like this:

CFLAGS_NODIST="$CFLAGS_NODIST -std=c99"

This causes it to always override my attempt to override the build default.

--
components: Build
messages: 285435
nosy: phantal
priority: normal
severity: normal
status: open
title: Cannot override some flags in CFLAGS from the command-line
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29267>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29266] test_create_connection_service_name fails if "http" isn't listed in /etc/services

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

One of our solaris machines doesn't have an entry in /etc/services for "http".  
This is causing test_create_connection_service_name to fail.

In my case I can just ignore that particular failure, but as a fix you might 
consider overtly getting valid service names from the host to test.  
Additionally, if you don't already have it you might consider adding a test 
that validates behavior when using a non-existent service.

--
components: Tests
messages: 285434
nosy: phantal
priority: normal
severity: normal
status: open
title: test_create_connection_service_name fails if "http" isn't listed in 
/etc/services
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29266>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29265] test suite is attempting to spawn 258 child processes to run tests

2017-01-13 Thread Brian Vandenberg

Brian Vandenberg added the comment:

This is odd.  I just went back and re-ran 3.5.1 to see how many cores and it's 
having the same problem now.  So, scratch that last coment.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29265>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29265] test suite is attempting to spawn 258 child processes to run tests

2017-01-13 Thread Brian Vandenberg

Brian Vandenberg added the comment:

I forgot to mention, this wasn't an issue in 3.5.1 though I never did check how 
many jobs it was using.

I ran into other issues building that version and moved to a newer version 
because at least one of them (logging test race condition) was fixed after 
3.5.1.

--

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29265>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29265] test suite is attempting to spawn 258 child processes to run tests

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

I'm attempting to build python 3.6.0 on sparc/solaris 10.  After the initial 
configure/compile complete I ran "make test" and I see:

$ make test
running build
running build_ext
(...)
running build_scripts
copying and adjusting (...)
changing mode of (...)
renaming (...)
(...)
Run tests in parallel using 258 child processes


I'm fairly sure the issue stems from the fact that each core on the machine has 
8 "threads" and there's 32 cores (for a total of 256 virtual cores).

Each core can execute 8 parallel tasks only in very specific circumstances.  
It's intended for use by things like lapack/atlas where you might be doing many 
computations on the same set of data.

Outside of these more restricted circumstances each core can only handle 2 
parallel tasks (or so I gathered from the documentation), so at best this 
machine could handle 64 backgrounded jobs though I normally restrict my builds 
to the actual core count or less.

The most common way to get a "realistic" core count on these machines from 
shell scripts is:

$ core_count=`kstat -m cpu_info | grep core_id | sort -u | wc -l`

... though I'm not sure how the test suite is determining the core count.  I 
didn't see any mention of "kstat" anywhere.

--
components: Tests
messages: 285430
nosy: phantal
priority: normal
severity: normal
status: open
title: test suite is attempting to spawn 258 child processes to run tests
type: behavior
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29265>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29264] sparc/ffi.c:440 error: 'asm' undeclared

2017-01-13 Thread Brian Vandenberg

New submission from Brian Vandenberg:

When building pythong 3.6.0 on solaris 10/sparc I'm seeing the following error:

Modules/_ctypes/libffi/src/sparc/ffi.c:440:8: error: 'asm' undeclared (first 
use in this function)
(...)

If I force it to use -std=gnu99 then it seems to compile fine.

--
components: ctypes
messages: 285428
nosy: phantal
priority: normal
severity: normal
status: open
title: sparc/ffi.c:440 error: 'asm' undeclared
type: compile error
versions: Python 3.6

___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29264>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com