Commit graph

25 commits

Author SHA1 Message Date
Tor Didriksen
3053c1110a Merge 5.1 => 5.5 2012-03-06 13:47:57 +01:00
Tor Didriksen
268bf557a9 Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS
Post-push fixes.
2012-03-06 13:30:30 +01:00
Tor Didriksen
d9b1886f92 Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS
handle_segfault is the signal handler code of mysqld.  however, it makes
calls to potentially unsafe functions localtime_r, fprintf, fflush.
2011-12-02 14:16:48 +01:00
Tor Didriksen
31aa2b6f3c Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS
handle_segfault is the signal handler code of mysqld.  however, it makes
calls to potentially unsafe functions localtime_r, fprintf, fflush.
2011-11-30 15:39:29 +01:00
Kent Boortz
1400d7a2cc Updated/added copyright headers 2011-06-30 17:37:13 +02:00
Kent Boortz
9da00ebec9 Updated/added copyright headers 2011-06-30 17:46:53 +02:00
Davi Arnaut
def6baa06e Bug#51817: incorrect assumption: thd->query at 0x2ab2a8360360 is an invalid pointer
Post-merge fix: equal sign is now meaningless, the
string being printed was already preceded by a colon.
2011-03-02 20:04:54 -03:00
Davi Arnaut
64c357d078 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-30 21:20:32 -02:00
Davi Arnaut
2419cec9f1 Workaround a GCC warning about a pointer being cast to a larger
integral type. Use intptr which is designed to hold pointer values
and pass it to off_t.
2010-11-30 21:07:55 -02:00
Davi Arnaut
1ab37fd3c0 Merge of mysql-5.1-bugteam into mysql-5.5-bugteam. 2010-11-30 17:06:53 -02:00
Davi Arnaut
0008e06489 Bug#51817: incorrect assumption: thd->query at 0x2ab2a8360360 is an invalid pointer
The problem is that the logic which checks if a pointer is
valid relies on a poor heuristic based on the start and end
addresses of the data segment and heap.

Apart from miscalculating the heap bounds, this approach also
suffers from the fact that memory can come from places other
than the heap. See Bug#58528 for a more detailed explanation.

On Linux, the solution is to access the process's memory
through /proc/self/task/<tid>/mem, which allows for retrieving
the contents of pages within the virtual address space of
the calling process. If a address range is not mapped, a
input/output error is returned.
2010-11-26 19:59:10 -02:00
Jon Olav Hauglid
15d7d7b632 Bug #45288 pb2 returns a lot of compilation warnings
GCOV builds were broken after the patch for Bug#57933
which added add -Wdeclaration-after-statement to gcc builds.

This patch fixes:
stacktrace.c:328: warning: ISO C90 forbids mixed
declarations and code

No test case added.
2010-11-08 12:51:48 +01:00
Jon Olav Hauglid
46697b3591 Merge from mysql-5.1-bugteam to mysql-5.5-bugteam
No conflicts
2010-11-08 10:55:23 +01:00
Jon Olav Hauglid
acc716e309 Bug #45288 pb2 returns a lot of compilation warnings
GCOV builds were broken after the patch for Bug#57933
which added add -Wdeclaration-after-statement to gcc builds.

This patch fixes:
stacktrace.c:328: warning: ISO C90 forbids mixed
declarations and code

No test case added.
2010-11-08 10:48:31 +01:00
136c5212b1 Bug #34283 mysqlbinlog leaves tmpfile after termination if binlog contains load data infile
With statement- or mixed-mode logging, "LOAD DATA INFILE" queries
are written to the binlog using special types of log events.
When mysqlbinlog reads such events, it re-creates the file in a
temporary directory with a generated filename and outputs a
"LOAD DATA INFILE" query where the filename is replaced by the
generated file. The temporary file is not deleted by mysqlbinlog
after termination.
      
To fix the problem, in mixed mode we go to row-based. In SBR, we
document it to remind user the tmpfile is left in a temporary
directory.
2010-08-03 11:49:14 +08:00
Davi Arnaut
e260cc3ff2 Bug#45288: pb2 returns a lot of compilation warnings on linux
Fix compiler warnings.
2010-07-30 17:33:10 -03:00
Vladislav Vaintroub
41d832d19b Bug #52850: mysqld-debug.pdb doesn't match
mysqld-debug.exe in 5.5.3 on windows

Fix:

- Do not rename PDB, install mysqld.pdb matching 
mysqld-debug.exe into bin\debug subdirectory

- Stack tracing code will now additionally look in 
debug subdirectory of the application directory 
for debug symbols.

- Small cleanup in stacktracing code: link with 
dbghelp rather than load functions dynamically 
at runtime, since dbghelp.dll is always present.

- Install debug binaries with WiX
2010-06-30 14:10:29 +02:00
Alexander Nozdrin
09942fe8e8 Manual merge from mysql-trunk-merge.
Conflicts:
  - include/my_no_pthread.h
  - mysql-test/r/sp-ucs2.result
  - sql/log.cc
  - sql/sql_acl.cc
  - sql/sql_yacc.yy
2009-12-16 21:02:21 +03:00
Staale Smedseng
d5391ed61d Merge from 5.0 2009-12-06 19:01:11 +01:00
Konstantin Osipov
4cff617c25 Backport of:
----------------------------------------------------------------------
ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0
  Bug#32082 : definition of VOID in my_global.h conflicts with Windows
  SDK headers
  
  VOID macro is now removed. Its usage is replaced with void cast.
  In some cases, where cast does not make much sense (pthread_*, printf, 
  hash_delete, my_seek), cast is ommited.
2009-11-24 16:54:59 +03:00
Vladislav Vaintroub
c8b858967e merge fix from 5.0-bugteam 2008-09-16 15:23:07 +02:00
Vladislav Vaintroub
031dabd200 merge fix for 35987 2008-09-15 17:11:41 +02:00
Davi Arnaut
8254727b44 Silence unused variable warning by printing the variables value. 2008-06-19 13:00:53 -03:00
Davi Arnaut
e7f3c5fc44 Bug#37003 Tests sporadically crashes with embedded server
Another problem is that the backtrace facility wasn't being
enabled for non-Linux targets even if the target OS has the
backtrace functions. Also, the stacktrace functions inside
mysqltest were being used without proper checks for their
presence in the build.
2008-06-19 11:02:32 -03:00
Davi Arnaut
30bd1d7cb3 Bug#37003 Tests sporadically crashes with embedded server
The problem was that when a embedded linked version of mysqltest
crashed there was no way to obtain a stack trace if no core file
is available. Another problem is that the embedded version of
libmysql was not behaving (crash) the same as the non-embedded with
respect to sending commands to a explicitly closed connection.

The solution is to generate a mysqltest's stack trace on crash
and to enable "reconnect" if the connection handle was explicitly
closed so the behavior matches the non-embedded one.
2008-06-18 13:17:15 -03:00
Renamed from sql/stacktrace.c (Browse further)