Project

General

Profile

Actions

Emulator Issues #8648

closed

Open Build Service refuses to allow using newest Dolphin builds because of "statements that may potentially overflow destination buffers"

Added by virtuousfox almost 9 years ago. Updated over 5 years ago.

Status:
Invalid
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

[READ THIS: https://forums.dolphin-emu.org/showthread.php?pid=276132 <<<
Your answers are there!]
[Leave the questions as they are and answer them in the next line]
[Remove lines written inside brackets [], but nothing else]

Game Name?
all

Game ID?
all

What's the problem? Describe what went wrong in few words.
Open Build Service thinks that it have found critical coding errors

What did you expect to happen instead?
Healthy build

What steps will reproduce the problem?
[Don't assume we have ever played the game and know any level names. Be as
specific as possible.]

  1. Make a spec
  2. Put it into OBS
  3. Be disappointed

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
Revision with timestamp 20150607T132903 (probably 30db1959fa4e80d72bef7cce3c24527c25e132b3)

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
4.0.2 which can't play nothing on my system

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
System: Host: arsenal.patriots Kernel: 4.0.4-10.gac67377-desktop x86_64 (64 bit)
Desktop LXQt 9.0 Distro: Hackeurs Sans Frontieres
Machine: Mobo: Gigabyte model: GA-990XA-UD3 Bios: Award version: F14e date: 09/09/2014
CPU: Hexa core AMD FX-6100 Six-Core (-MCP-) cache: 12288 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm)
Clock Speeds: 1: 4000.00 MHz 2: 4000.00 MHz 3: 4000.00 MHz 4: 4000.00 MHz 5: 4000.00 MHz 6: 4000.00 MHz
Graphics: Card: Advanced Micro Devices [AMD/ATI] Barts XT [Radeon HD 6870]
X.Org: 1.17.99 driver: radeon Resolution: 1920x1080@60.00hz
GLX Renderer: Gallium 0.4 on AMD BARTS GLX Version: 3.0 Mesa 10.7.0-devel (git-6acb61f pontostroy:X11) Direct Rendering: Yes

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
[Upload big files to a hosting service and post links here!]
[ 696s] I: Statement might potentially overflow a destination buffer, where a size larger
[ 696s] than the actual buffer was specified
[ 696s] E: dolphin-emu destbufferoverflow /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/Core/State.cpp:518:38
[ 696s] E: dolphin-emu destbufferoverflow /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/DiscIO/CompressedBlob.cpp:243:57
[ 696s] E: dolphin-emu destbufferoverflow /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/DiscIO/DiscScrubber.cpp:141:48

[Do not attach files to this issue. Upload them to another site and
link here. Use imgur.com for images and pastie.org for logs. Monitor the
email address that was used to create this issue.]
If you don't want files to be attached when why there's an option ? And for logs even !
Here's full log for ya: http://filebin.ca/24RaWk3EsKUm/home_X0F_branches_Emulators-dolphin-emu_openSUSE_13.2_x86_64.log
And here is my unsuccessful package build that it came from: https://build.opensuse.org/package/show/home:X0F:branches:Emulators/dolphin-emu

Actions #1

Updated by comexk almost 9 years ago

It does not appear that any of these warnings correspond to actual bugs, although the code in question is a bit sloppy. When I get off this plane I'll figure how to reproduce them in GCC or something...

Actions #2

Updated by virtuousfox almost 9 years ago

OBS uses some kind of its own framework to test the code for potential causes of segfaults and exploits. And it's usually not wrong, despite being annoying.

...and, there is this in build log too, it seems:
[ 665s] In function 'fread_alias',
[ 665s] inlined from 'ReadArray.constprop' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/Common/FileUtil.h:177:3,
[ 665s] inlined from 'LoadFileStateData.constprop' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/Common/FileUtil.h:197:57,
[ 665s] inlined from '_ZN5State6LoadAsERKSs.part.113' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/Core/State.cpp:518:38:
[ 665s] /usr/include/bits/stdio2.h:290:66: warning: call to '
fread_chk_warn' declared with attribute warning: fread called with bigger size * nmemb than length of destination buffer
[ 665s] return fread_chk (ptr, bos0 (ptr), size, __n, __stream);
[ 665s] ^
[ 665s] In function '
fread_alias',
[ 665s] inlined from 'ReadArray' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/Common/FileUtil.h:177:3,
[ 665s] inlined from 'ZN6DiscIO18CompressFileToBlobERKSsS1_jiPFbS1_fPvES2.part.12.constprop' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/DiscIO/DiscScrubber.cpp:141:48:
[ 665s] /usr/include/bits/stdio2.h:290:66: warning: call to 'fread_chk_warn' declared with attribute warning: fread called with bigger size * nmemb than length of destination buffer
[ 665s] return __fread_chk (
ptr, bos0 (ptr), size, __n, __stream);
[ 665s] ^
[ 665s] In function '
fread_alias',
[ 665s] inlined from 'ReadArray' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/Common/FileUtil.h:177:3,
[ 665s] inlined from 'ZN6DiscIO18CompressFileToBlobERKSsS1_jiPFbS1_fPvES2.part.12.constprop' at /home/abuild/rpmbuild/BUILD/dolphin-4.0.99.20150607T132903/Source/Core/DiscIO/CompressedBlob.cpp:243:57:
[ 665s] /usr/include/bits/stdio2.h:290:66: warning: call to 'fread_chk_warn' declared with attribute warning: fread called with bigger size * nmemb than length of destination buffer
[ 665s] return __fread_chk (
ptr, bos0 (ptr), __size, __n, __stream);
[ 665s] ^

Actions #3

Updated by virtuousfox almost 9 years ago

I just managed to make a build with gcc-5.1.1 therefore, unless you change something in your code, it seems to be a bug in gcc-4.9 itself. GCC5 isn't in current version of openSUSE, so it's still can't be normally packaged yet... and dolphin doesn't have actual releases anyway. But that's another matter, at least it builds now somehow.

Now there are only minor warnings from OBS which you may want to address:
[ 826s] dolphin-emu.x86_64: I: binary-or-shlib-calls-gethostbyname /usr/bin/dolphin-emu
[ 826s] dolphin-emu.x86_64: I: binary-or-shlib-calls-gethostbyname /usr/bin/dolphin-emu-nogui
[ 826s] The binary calls gethostbyname(). Please port the code to use getaddrinfo().

Actions #4

Updated by virtuousfox almost 9 years ago

I found out that initial issue is this: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751812
GCC doesn't like '_FORTIFY_SOURCE' (which is in default openSUSE CFLAGS) mixed with LTO (which isn't).

Actions #5

Updated by JosJuice over 5 years ago

  • Status changed from New to Invalid

We don't support GCC 4.9 anymore, so I guess this is resolved?

Actions

Also available in: Atom PDF