Mysql Bugs: 41189: No Debug Symbols In 5.1.30 Build For Mac
- Mysql Bugs 41189 No Debug Symbols In 5.1.30 Build For Mac 2018
- Mysql Bugs 41189 No Debug Symbols In 5.1.30 Build For Mac
- Mysql Bugs 41189 No Debug Symbols In 5.1.30 Build For Mac On Windows
MySQL Community Edition is a freely downloadable version of the world's most popular open source database that is supported by an active community of open source developers and enthusiasts. MySQL delivers enterprise features, including:. Partitioning to improve performance and management of very large database environments. Row-based/Hybrid Replication for improved replication security. Event Scheduler to create and schedule jobs that perform various database tasks. XPath Support. Dynamic General/Slow Query Log.
Performance/Load Testing Utility (mysqlslap). Improved!
Mysql Bugs 41189 No Debug Symbols In 5.1.30 Build For Mac 2018
Full Text Search (faster, new dev templates). Improved! Archive engine (better compression, more features). Improved! User session and problem SQL identification.
Improved! MySQL embedded library (libmysqld). Additional INFORMATIONSCHEMA objects. Faster data import operations (parallel file load).
ACID Transactions to build reliable and secure business critical applications. Stored Procedures to improve developer productivity.
Triggers to enforce complex business rules at the database level. Views to ensure sensitive information is not compromised. Information Schema to provide easy access to metadata.
Pluggable Storage Engine Architecture for maximum flexibility. Archive Storage Engine for historical and audit data. Compilation Notes: Windows builds now use the default runtime libraries (builds use the /MD flag).
CMake support was added for compiling with Developer Studio 12.6. Configuration Notes: MySQL failed to compile if -DENABLEDEBUGSYNC=OFF AND -DWITHDEBUG=ON were both given. The ENABLEDEBUGSYNC option has been removed and enabling WITHDEBUG enables Debug Sync. Packaging Notes: Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly. To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown. CMake-generated packaging for Debian/Ubuntu packages was refactored for improved maintainability.
The change includes updated logic for correctly replacing native distribution packaging in Debian and Ubuntu. Reminder: MySQL 5.6 requires the Microsoft Visual C 2010 Redistributable Package to run on Windows platforms.
Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center. Security Notes: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k. For a description of issues fixed in this version, This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. The mysqloptions C API function now supports a MYSQLOPTSSLMODE option. The only permitted option value is SSLMODEREQUIRED, to require a secure connection to the server.
It causes mysqlrealconnect to fail if an encrypted connection cannot be obtained, without falling back to an unencrypted connection. Thus, mysqlrealconnect returns an error if the server does not support SSL or the client is not configured to use SSL. The client/server exchange terminates immediately after the initial server packet has been received if the server indicates that it does not support SSL. To require an encrypted connection in MySQL 5.6, the standard MySQL client programs call mysqloptions to set MYSQLOPTSSLMODE if the -ssl-mode=REQUIRED command-line option was specified. Third-party applications that must be able to require encrypted connections can use the same technique. For details, see mysqlsslset. The minor C API version number was not incremented for this change.
Application programs compiled for MySQL 5.6 that require MYSQLOPTSSLMODE may fail to operate properly if the dynamic loader provides an older client library without MYSQLOPTSSLMODE. Such applications must be written to handle this possibility by checking whether the mysqloptions call succeeds or fails. Thread Pool Notes: To improve threadpool plugin performance, connection authentication and initialization have been moved from the acceptor thread to the thread pool worker threads that handle client connections.
This enables the acceptor thread to handle new connections at a higher rate with reduced latency. The INFORMATIONSCHEMA TPTHREADGROUPSTATE table now contains a CONNECTTHREADCOUNT column that indicates the number of threads that are processing or waiting to process connection initialization and authentication. There can be a maximum of four connection threads per thread group; these threads expire after a period of inactivity. Functionality Added or Changed: Replication: When a negative or fractional timeout parameter was supplied to WAITUNTILSQLTHREADAFTERGTIDS, the server behaved in unexpected ways. With this fix: A fractional timeout value is read as-is, with no round-off. A negative timeout value is rejected with an error if the server is on a strict SQL mode; if the server is not on a strict SQL mode, the value makes the function return NULL immediately without any waiting and then issue a warning. The performance of UTF-8 binary collations was improved.
Consistency and maintainability of Debian/Ubuntu packaging maintainer scripts was improved. Mysqlsecureinstallation is more strict about what it considers valid yes and no responses.
Bugs Fixed: InnoDB: The restriction that required the first undo tablespace to use space ID 1 was removed. The first undo tablespace may now be assigned a space ID other than 1. Space ID values for undo tablespaces are still assigned in a consecutive sequence. InnoDB: Compiling the server without the Performance Schema caused a build failure. InnoDB: The file handle type name for InnoDB file I/O Performance Schema instrumentation was changed from ospfsfilet to pfsosfilet. InnoDB: A server exit on restart was caused by missing mythreadinit and mythreadexit functions for background threads that initialize the stmythreadvar structure. InnoDB: A memcached read operation with a non-default read batch size configuration resulted in a server exit.
InnoDB: Performance Schema instrumentation for InnoDB file I/O was disabled on Windows. InnoDB: The rowsearchmvcc function unnecessarily traversed the entire table for a range query, which occurred when the record was not in the transaction read view. Replication: When using a multi-threaded slave (slaveparallelworkers greater than 0) the value of SecondsBehindMaster was incorrect when rotating a relay log.
Mysqldump failed to properly quote certain identifiers in SQL statements written to the dump output. Client preauthorization by the server was missing a length check for a length-encoded string. For Debian/Ubuntu packages, user-defined collation files could be overwritten during MySQL upgrades.
Charset files are now marked as conffiles so that user customizations generate a prompt during upgrades whether to overwrite them. For CREATE TABLE statements that specified the table name with a database qualifier and included a DATA DIRECTORY or INDEX DIRECTORY option, an error occurred if there was no default database. Starting the server with performanceschemadigestssize=1 caused an abnormal exit.
Mysqldsafe did not check whether the directory named by the -basedir option existed. Mysqldsafe failed if the error log file named by the -log-error option was a FIFO. Mysqldsafe could fail if the -datadir option value ended with a / character. A recent change to mysqldsafe caused the mysql.server script to be unable to start it if the base directory was specified as an absolute path that differed from the compiled-in default absolute path. The fix for Bug #78777 had different effects depending on whether the Performance Schema is enabled.
The connectioncontrol plugin failed to compile if the Performance Schema was disabled. For System V init scripts for RPMs, the mysqld option-file section was being ignored for some options, such as pid-file. Init scripts failed to launch mysqldsafe if a non-default base directory was used. Mysqldsafe -no-defaults did not work (inadvertent consequence of an earlier bug fix). Semicolon (;) characters within or between statements could cause distinct digests to be generated from identical statements. For a client linked against libmysqlclient, invalid memory access could occur during use of prepared statements. The fix for Bug #25088048 caused the command used by mysqldsafe to start the MySQL server to no longer include the mysqld path.
Executing a stored procedure containing a query that accessed a view could allocate memory that was not freed until the session ended. A query could produce incorrect results if the WHERE clause contained a dependent subquery, the table had a secondary index on the columns in the select list followed by the columns in the subquery, and GROUP BY or DISTINCT permitted the query to use a Loose Index Scan. Creation of a MyISAM temporary table during query processing could fail if the key length in the query was greater than the maximum MyISAM key length, resulting in a server exit. The DebugPrintTest and DebugPrintDeathTest unit tests did not handle divide-by-zero testing properly on the Aarch64 platform. Thanks to Alexey Kopytov for the patch. Changes made to mysqldsafe in recent MySQL releases require the -ledir, -mysqld, -mysqld-version options to be specified on the command line; they can no longer be specified in option files.
This could cause failure of init scripts that invoke mysqldsafe. Such scripts now pass the value of the MYSQLDOPTS environment variable as the first command-line argument to mysqldsafe, with the value set to such command line-only mysqldsafe option values as may be required. On platforms that use /etc/sysconfig/mysqld, the MYSQLDOPTS value can be set in that file with a line such as this: MYSQLDOPTS=' -ledir=/mysqldledir -mysqld=mywrapper ' The value of MYSQLDOPTS can also include mysqld options for mysqldsafe to pass to mysqld.
For LOAD DATA used to insert data into an updateable view, the check to verify whether a column is actually updatable was missing. On Debian/Ubuntu platforms, the systemd startup script for MySQL ignored datadir settings in /etc/mysql/my.cnf. A regular expression pattern match into a large string could result in a server exit due to memory allocation failure or integer overflow.
An incorrect error was reported for CREATE TABLE statements with a large value for the CONNECTION table option. The value is now limited to 1024 bytes. MySQL now uses readdir rather than readdirr. The latter has been deprecated since glibc 2.24 and caused debug builds of MySQL and builds using GCC 6.1 to fail. Additionally, several problems resulting in GCC 6.1 compiler warnings were corrected.
The -DWITHEDITLINE=system CMake option failed with recent versions of the editline library. Grant tables with incorrect structure may cause problems in user management operations.
As a consequence of the fix for this, for any operation that modifies a grant table, the server now checks whether the table has the expected structure and produces an error if not. Mysqlupgrade must be run to update the tables to the expected structure.
The QUOTE function could allocate excessive memory. A limit of maxallowedpacket bytes is now imposed and returns NULL with a warning for attempts to allocate more. When attempting to locate the data directory, mysqldsafe incorrectly considered $MYBASEDIRVERSION/var as one of the possible locations. The main.logtables-big test case could be unstable on highly loaded hosts. Thanks to Laurynas Biveinis for the patch. Queries that used an aggregate function with DISTINCT could produce incorrect results.

With the useindexextensions flag of the optimizerswitch system variable disabled, some SELECT DISTINCT queries could return incorrect results. Debian packages were missing an AppArmor-related include file and incorrectly were marked dependent on AppArmor (making it impossible to disable AppArmor by uninstalling it).
In a replication environment, SET PASSWORD or ALTER USER could fail to execute on the slave due to failure to parse the hash string correctly. On non-Linux Unix systems, the mysql.server startup script used the Linux command pidof rather than pgrep. Starting multiple instances of mysqldsafe after an abnormal server exit could result in one mysqldsafe instance killing another. As a consequence of the bug fix, the mysqldsafe.pid file is no longer used. The -help message for mysqldsafe was corrected to mention that the -no-defaults, -defaults-file, and -defaults-extra-file options, if given, must be the first argument. The bounds check for the XML parser position stack for each level (which has a fixed depth) used the size of the array as the upper limit, and so was off by one. This is fixed by decreasing the allowable depth by one, which actually matches the maximum number of elements in the position stack.
Timestamps for server-side prepared statements could be written to the binary log up to a second behind timestamps for the corresponding nonprepared statements, leading to time value differences between master and slave servers.
Mysql Bugs 41189 No Debug Symbols In 5.1.30 Build For Mac
In my recent blog posts I presented lists of bugs, and, as usual. Working on these lists side tracked me from the main topic of this summer - problems in Oracle's way of handling MySQL. Time to get back on track! Among things Oracle could do better for MySQL I QA: 'Oracle's internal QA efforts still seem to be somewhat limited. We get regression bugs, ASAN failures, debug assertions, crashes, test failures etc in the official releases, and Oracle MySQL still (while not highlighting this fact that much in public).'
I have to explain these in details, as it's common perception for years already that Oracle improved MySQL QA a lot and invests enormously in it, and famous MySQL experts were: 'Lets take a number we did get the QA team now has 400 person-years of experience on it. Lets say the QA team was 10 people before, and now it is tripled to 30 people.
That means the average QA person has over 13 years experience in QA, which is about a year longer than my entire post-college IT career.' I was in the conference hall during that, and QA related statements in it sounded mostly funny for me. Now, 5 years later, let me try to explain why just adding people and person-years of experience may not work that well. I'll try to present some examples and lists of bugs, as usual, to prove my points. Emirates Air Line in London lets you see nice views of London, and it costed a lot, but hardly it's the most efficient public transport system between the North Greenwich Peninsula and Royal Victoria Dock one could imagine. We still get all kinds of reported by MySQL Community for every release, even MySQL 8.0.12.
Here is the short list of random recent examples:. ' Performance regression with 15K tables in MySQL 8.0 (with general tablespaces)'. ' Wrong results with optimizerswitch='derivedmerge=OFF';'. ' Can't Initialize MySQl if internaltmpdiskstorageengine is set to MYISAM'. ' Year type column have index, query value more than 2156, the result is wrong'. ' 8.0.12 no longer builds with Mac brew-installed ICU'.
' InnoDB: Assertion failure: dict0dd.cc:1071:!fail'. It means that Oracle's MySQL QA may NOT do enough/proper regression testing. We sometimes can not say this for sure, as Oracle. So, we, users of MySQL, just may not know what was the intention of some recent change (tests should show it even if the fine manual may not be clear enough - a topic for my next post).
We still get valid test failure bugs found by MySQL Community members. Some recent examples follows:. ' innodbfts.ngram1 test fails (runs too long probably)'. ' rplgtid.rplperfschemaapplierstatusbyworkergtidskippedtransaction fails'. ' perfschema.statementdigestquerysample test fails sporadically'.
' innodbundo.truncaterecover MTR test failing with a server error log warning'. It's fixed, but only in MySQL 8.0.13.
Mysql Bugs 41189 No Debug Symbols In 5.1.30 Build For Mac On Windows
' rplsemisyncgroupcommitdeadlock.test is not simulating flush error '. ' auditnull.auditpluginbugs test always failing'. ' A number of MTR test cases fail when run on a server with no PERFSCHEMA'. For me it means that Oracle's MySQL QA either do not care to run regression tests suite properly, in enough combination of platforms, options and build types, or they do not analyze the failures they get properly (and release when needed, not when all tests pass on all platforms).
This is somewhat scary. We still get crashing bugs in GA releases. It's hard to notice them as they are got hidden fast or as soon as they get public attention, but they do exist, and the last example, is discussed. It seems some tools that helps to discover code problems may not be used properly/regularly in Oracle. I had a separate post ', where you can find some examples.
Lucky we are that Percona engineers test ASan builds of MySQL 5.7 and 8.0 regularly, for years, and contribute back public bug reports. Oracle's MySQL QA engineers do not write much about their work in public recently. I can find some posts here and there and, but in recent years. One may say that's because QA engineers are working hard and have no time for blogging (unlike lazy annoying individual like me), but that's not entirely true.
There is at least one Oracle engineer who does a lot of QA and makes a lot of information about his work public -who is brave enough and cares enough to report MySQL bugs in public. Ironically, I doubt he has any formal relation to any of QA teams in Oracle!. A lot of real MySQL QA is still done by MySQL Community, while these efforts are not that much acknowledged recently (you usually get your name mentioned in the official release notes if you submitted a patch, but the fact that you helped Oracle by finding a real bug their QA missed is NOT advertised any more since last Morgan's ' published 2 years ago).
Moreover, only MySQL Community tries to make QA job popular and educate users about proper tools and approaches ( and personally are famous for this). To summarize, for me it seems that real MySQL QA is largely still performed by MySQL Community and in public, while the impact of hidden and maybe huge Oracle's investments in QA is way less clear and visible. Oracle's MySQL QA investments look like those into the in London to me - the result is nice to have, but it's the most expensive cable system ever built with a limited efficiency for community as a public transport. I am sure there will be problems, I don't want this as close as you do, and I don't support a wide range of features like you do, but I still think that quality during the Oracle years has been dramatically better than before those years. Too bad we don't have this level of visibility into quality for closed-source products. While their 'primary' features tend to be solid, experience tells me that some of their other features are not.
Regardless, I hope that Oracle/MySQL continues to engage with the community over QA and other issues because we can help them. Good we don't care about the quality of closed-source MySQL Enterprise Backup, for example:) There must be dragons. Quality of MySQL surely improved under Oracle's ownership and brand, in a same sense as that cable car line under Air Emirates brand improved connectivity between North Greenwich and Royal Dock area (I know it as I walked all that way starting from My point is the costs vs benefits. I am sure that by investing a little bit of acknowledgement and appreciation into community-provided QA, or some more into Percona's QA efforts, or just nothing into sharing all the test cases developed and proper bugs processing policies, Oracle would easily improve the quality of MySQL even more.