Bug #42524 Function pthread_setschedprio() is defined but seems broken on i5/OS PASE
| Submitted: | 1 Feb 2009 23:20 | Modified: | 18 Feb 2009 20:07 |
|---|---|---|---|
| Reporter: | Kent Boortz | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S1 (Critical) |
| Version: | 5.1.31 | OS: | Other (i5/OS PASE) |
| Assigned to: | Davi Arnaut | CPU Architecture: | Any |
[1 Feb 2009 23:20]
Kent Boortz
[2 Feb 2009 2:26]
Davi Arnaut
Using a standalone program that creates a thread and calls pthread_setschedprio yields the same problem?
[3 Feb 2009 13:31]
Davi Arnaut
To get better debugging instead of SIGILL one can use the PASE_SYSCALL_NOSIGILL environment variable set to ALL: "The i5/OS PASE kernel exports some system calls that are implemented by the AIX kernel but are unsupported by i5/OS PASE. The default behavior for any unsupported syscall is to send exception message MCH3204, which the system converts to i5/OS PASE signal SIGILL." It seems that the pthread_setschedprio will return "Function not implemented" (SIGILL) for any priority priority value that is not PTHREAD_PRIO_MIN (1), while pthread_setschedparam will accept any priority value between PTHREAD_PRIO_MIN and PTHREAD_PRIO_MAX and returns EINVAL if the value is not within the range. Furthermore, if pthread_setschedparam is used before pthread_setschedprio, this will cause any calls to pthread_setschedprio to return "Function not implemented" (SIGILL).
[3 Feb 2009 23:53]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65061 2768 Davi Arnaut 2009-02-03 Bug#42524: Function pthread_setschedprio() is defined but seems broken on i5/OS PASE The problem is that MySQL use of pthread_setschedprio is not supported i5/OS and the default system behavior for unsupported calls is to emit a SIGILL signal which causes the server to abort. The solution is to treat the pthread_setschedprio as inexistent when compiling binaries to i5/OS. This also does not invalidate the fix for bug 38477 as the only supported dispatch class is SCHED_OTHER (which is passed to pthread_setschedparam).
[6 Feb 2009 8:57]
Daniel Fischer
Patch looks good, one review to go. Note that $mysql_cv_sys_os is "Not Solaris" if uname wasn't found... gah. But irrelevant for PASE.
[6 Feb 2009 10:29]
Bjørn Munch
Looks reasonable to be, OK to push
[6 Feb 2009 11:00]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65462 2788 Davi Arnaut 2009-02-06 Bug#42524: Function pthread_setschedprio() is defined but seems broken on i5/OS PASE The problem is that MySQL use of pthread_setschedprio is not supported by i5/OS and the default system behavior for unsupported calls is to emit a SIGILL signal which causes the server to abort. The solution is to treat the pthread_setschedprio as inexistent when compiling binaries for i5/OS. This also does not invalidate the fix for bug 38477 as the only supported dispatch class is SCHED_OTHER (which is passed to pthread_setschedparam).
[6 Feb 2009 11:08]
Davi Arnaut
Queued to 5.1-bugteam
[6 Feb 2009 11:25]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65464 3030 Davi Arnaut 2009-02-06 [merge] Bug#42524: Function pthread_setschedprio() is defined but seems broken on i5/OS PASE Null merge of the fix into 6.0-bugteam and removal of checks for functions that are not used anymore.
[9 Feb 2009 22:33]
Bugs System
Pushed into 5.1.32 (revid:davi.arnaut@sun.com-20090209214102-gj3sb3ujpnvpiy4c) (version source revid:davi.arnaut@sun.com-20090209214102-gj3sb3ujpnvpiy4c) (merge vers: 5.1.32) (pib:6)
[14 Feb 2009 13:00]
Bugs System
Pushed into 6.0.10-alpha (revid:matthias.leich@sun.com-20090212211028-y72faag15q3z3szy) (version source revid:davi.arnaut@sun.com-20090206112445-m7ogqx3tbxd712gz) (merge vers: 6.0.10-alpha) (pib:6)
[17 Feb 2009 14:58]
Bugs System
Pushed into 5.1.32-ndb-6.3.23 (revid:tomas.ulin@sun.com-20090217131017-6u8qz1edkjfiobef) (version source revid:tomas.ulin@sun.com-20090216083408-rmvyaxjt6mk8sg1y) (merge vers: 5.1.32-ndb-6.3.23) (pib:6)
[17 Feb 2009 16:46]
Bugs System
Pushed into 5.1.32-ndb-6.4.3 (revid:tomas.ulin@sun.com-20090217134419-5ha6xg4dpedrbmau) (version source revid:tomas.ulin@sun.com-20090216083646-m8st11oj1hhfuuh5) (merge vers: 5.1.32-ndb-6.4.3) (pib:6)
[17 Feb 2009 18:22]
Bugs System
Pushed into 5.1.32-ndb-6.2.17 (revid:tomas.ulin@sun.com-20090217134216-5699eq74ws4oxa0j) (version source revid:tomas.ulin@sun.com-20090211111208-wf0acl7c1vl5653e) (merge vers: 5.1.32-ndb-6.2.17) (pib:6)
[18 Feb 2009 20:07]
Paul DuBois
Noted in 5.1.32, 6.0.10 changelogs. On the IBM i5 platform, the MySQL configuration process caused the system version of pthread_setschedprio() to be used. This function returns SIGILL on i5 because it is not supported, causing the server to crash. Now the my_pthread_setprio() function in the mysys library is used instead.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.047 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.