Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multiprocessing build fails on Solaris 10 #47399

Closed
MrJean1 mannequin opened this issue Jun 20, 2008 · 3 comments
Closed

multiprocessing build fails on Solaris 10 #47399

MrJean1 mannequin opened this issue Jun 20, 2008 · 3 comments
Labels
build The build process and cross-build

Comments

@MrJean1
Copy link
Mannequin

MrJean1 mannequin commented Jun 20, 2008

BPO 3149
Nosy @pitrou

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = <Date 2008-08-26.16:11:55.811>
created_at = <Date 2008-06-20.01:38:31.999>
labels = ['build']
title = 'multiprocessing build fails on Solaris 10'
updated_at = <Date 2008-08-26.16:11:55.779>
user = 'https://bugs.python.org/MrJean1'

bugs.python.org fields:

activity = <Date 2008-08-26.16:11:55.779>
actor = 'pitrou'
assignee = 'jnoller'
closed = True
closed_date = <Date 2008-08-26.16:11:55.811>
closer = 'pitrou'
components = ['Build']
creation = <Date 2008-06-20.01:38:31.999>
creator = 'MrJean1'
dependencies = []
files = []
hgrepos = []
issue_num = 3149
keywords = []
message_count = 3.0
messages = ['68438', '68465', '71984']
nosy_count = 4.0
nosy_names = ['pitrou', 'MrJean1', 'roudkerk', 'jnoller']
pr_nums = []
priority = 'normal'
resolution = 'duplicate'
stage = None
status = 'closed'
superseder = None
type = 'compile error'
url = 'https://bugs.python.org/issue3149'
versions = ['Python 2.6']

@MrJean1
Copy link
Mannequin Author

MrJean1 mannequin commented Jun 20, 2008

The multiprocessing module fails to build on Solaris 10 when using the
Sun C compiler. The failure is due to one missing symbol
SEM_VALUE_MAX.

Defining that symbol (e.g. as _POSIX_SEM_VALUE_MAX) builds the
_multiprocessing module for both 32- and 64-bit.

However, for 32-bit, 5 tests from test_multiprocessing fail due to the
missing _ctypes module. For 64-bit, the first 3 tests fail (like for
32-bit) but the 4th test hangs. Here is a log:

./python Lib/test/test_multiprocessing.py
test_array (__main__.WithProcessesTestArray) ... ERROR
test_getobj_getlock_obj (__main__.WithProcessesTestArray) ... ERROR
test_rawarray (__main__.WithProcessesTestArray) ... ERROR
test_notify (__main__.WithProcessesTestCondition) ... Process Process-1:
Traceback (most recent call last):
  File "/..../64/Python-2.6b1/Lib/multiprocessing/process.py", line 237, 
in _bootstrap
    self.run()
  File "/.../64/Python-2.6b1/Lib/multiprocessing/process.py", line 93, 
in run
    self._target(*self._args, **self._kwargs)
  File "Lib/test/test_multiprocessing.py", line 610, in f
    sleeping.release()
ValueError: semaphore or lock released too many times

This is Solaris 10 on an Ultra20 (Opteron) machine:

uname -a
SunOS unknown 5.10 Generic_118855-14 i86pc i386 i86pc

cc -v
cc: Sun C 5.8 2005/10/13

@MrJean1 MrJean1 mannequin added build The build process and cross-build labels Jun 20, 2008
@jnoller jnoller mannequin self-assigned this Jun 20, 2008
@MrJean1
Copy link
Mannequin Author

MrJean1 mannequin commented Jun 20, 2008

One more comment on SEM_VALUE_MAX for Solaris. _POSIX_SEM_VALUE_MAX is
defined in <limits.h> on Solaris and that header file must be included.
Better might be to use _SEM_VALUE_MAX which is defined in <param.h> and
that header files needs to be included as well. Rerhaps, INT_MAX is
best.

/usr/include/limits.h:#define _POSIX_SEM_NSEMS_MAX 256
/usr/include/limits.h:#define _POSIX_SEM_VALUE_MAX 32767

/usr/include/sys/param.h:#define _SEM_NSEMS_MAX INT_MAX
/usr/include/sys/param.h:#define _SEM_VALUE_MAX INT_MAX

Btw, the value of _POSIX_SEM_MAX_VALUE is 32767.

@pitrou
Copy link
Member

pitrou commented Aug 26, 2008

This is a duplicate of bpo-3110.

@pitrou pitrou closed this as completed Aug 26, 2008
@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build
Projects
None yet
Development

No branches or pull requests

1 participant