Your message dated Tue, 19 Jun 2012 00:00:44 +0200
with message-id <[email protected]>
and subject line Re: Bug#676006: temporary patch broken
has caused the Debian Bug report #676006,
regarding navit: FTBFS: RenderArea.cpp:248:44: error: taking address of
temporary array
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
676006: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676006
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: navit
Version: 0.5.0~svn4954+dfsg.1-1
Severity: serious
Tags: wheezy sid
User: [email protected]
Usertags: qa-ftbfs-20120604 qa-ftbfs
Justification: FTBFS on amd64
Hi,
During a rebuild of all packages in sid, your package failed to build on
amd64.
Relevant part:
> make[3]: Entering directory
> `/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/obj-x86_64-linux-gnu'
> /usr/bin/cmake -E cmake_progress_report
> "/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/obj-x86_64-linux-gnu/CMakeFiles"
> [ 2%] Building CXX object
> navit/graphics/qt_qpainter/CMakeFiles/graphics_qt_qpainter.dir/RenderArea.cpp.o
> cd
> "/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/obj-x86_64-linux-gnu/navit/graphics/qt_qpainter"
> && /usr/bin/g++ -Dgraphics_qt_qpainter_EXPORTS -DQT_DECLARATIVE_LIB
> -DQT_SVG_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB
> -DMODULE=graphics_qt_qpainter -g -O2 -fstack-protector
> --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC
> -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
> -I/usr/include/freetype2 -I/usr/include/qt4 -I/usr/include/qt4/QtDeclarative
> -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml
> -I/usr/include/qt4/QtCore -I/usr/include/gtk-2.0
> -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0
> -I/usr/include/cairo -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0
> -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/obj-x86_64-linux-gnu"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/obj-x86_64-linux-gnu/navit"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/support"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/font/freetype"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/gtk_drawing_area"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/gui/gtk"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/vehicle/gpsd"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/binding/dbus"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/speech/dbus"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/speech/cmdline"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/vehicle/gpsd_dbus"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/speech/speech_dispatcher"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/garmin"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/null"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/osd/core"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/vehicle/demo"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/vehicle/file"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/vehicle/null"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/gui/internal"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/binfile"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/filter"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/mg"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/shapefile"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/textfile"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/map/csv"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/plugin/pedestrian"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/fib-1.1"
> -I"/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/obj-x86_64-linux-gnu/navit/graphics/qt_qpainter"
> -fPIC -Wall -o CMakeFiles/graphics_qt_qpainter.dir/RenderArea.cpp.o -c
> "/«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp"
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:
> In member function 'void RenderArea::do_resize(QSize)':
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:139:2:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:139:2:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:
> In member function 'void RenderArea::mouseEvent(int, QMouseEvent*)':
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:166:3:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:169:3:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:172:3:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:
> In member function 'virtual void RenderArea::wheelEvent(QWheelEvent*)':
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:224:3:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:225:3:
> warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:
> In member function 'virtual void RenderArea::keyPressEvent(QKeyEvent*)':
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:248:44:
> error: taking address of temporary array
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:256:41:
> error: taking address of temporary array
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:264:39:
> error: taking address of temporary array
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:272:37:
> error: taking address of temporary array
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:280:40:
> error: taking address of temporary array
> /«BUILDDIR»/navit-0.5.0~svn4954+dfsg.1/navit/graphics/qt_qpainter/RenderArea.cpp:288:39:
> error: taking address of temporary array
> make[3]: ***
> [navit/graphics/qt_qpainter/CMakeFiles/graphics_qt_qpainter.dir/RenderArea.cpp.o]
> Error 1
The full build log is available from:
http://people.debian.org/~lucas/logs/2012/06/04/navit_0.5.0~svn4954+dfsg.1-1_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
--- End Message ---
--- Begin Message ---
Julian Taylor a écrit , Le 18/06/2012 23:05:
> found 676006 0.5.0~svn5126+dfsg.1-1
> severity 676006 normal
> thanks
>
>
> On 06/18/2012 10:53 PM, Gilles Filippini wrote:
>>
>> The issue reported by g++ "taking address of temporary array" *is*
>> fixed. In this context (AIUI), "temporary" means that there is no
>> certainty that the address is still valid at the time
>> callback_list_call_attr_1() is called.
>
> its not fixed, its just silenced.
> It still takes the address of a temporary and passes it out of the stack
> frame.
I miss your point completely :/
This address is from the stack and its scope is
RenderArea::keyPressEvent(). So it's still valid when
callback_list_call_attr_1() uses it.
Like I said below, you'll find many patterns like this one in the navit
source. See for example RenderArea::mouseEvent() with p's address.
> Only the ftbs is fixed so it is not serious anymore. I have decreased
> the severity to normal as it may not cause any noticeable issues.
>
>>
>> It's another kind of uncertainty you'll find waaaay more time in the
>> navit source code. The question is then : will the array address be
>> still in use after the exit from RenderArea::keyPressEvent() method?
>>
>
> very likely, its passed into a callback so unless the callback runs in a
> thread which preempts the current frame it will be popped of the stack
> before the use.
> gui callbacks seldom run in their own threads and the function returns
> immediately, so chances that this happens are pretty much 100%.
To my knowledge these is no multi-threading involved here. See
navit/callback.{h,c}.
>> A correct fix implies knowing precisely how the triggered callbacks are
>> supposed to use the address. I don't, and will appreciate any findings
>> you could share.
>>
>> Anyway, #676006 is closed and new bugs should have their own bugreports.
>>
>
> its the same issue, so it can stay the same bug.
> As the maintainer you forward it to upstream so they can take care of it
> in the proper way.
Sorry, you didn't convinced me. Show me the valgrind report stating an
invalid read related to the array.
_g.
signature.asc
Description: OpenPGP digital signature
--- End Message ---