Opened 9 years ago

Closed 9 years ago

Last modified 7 years ago

#10669 closed Bug report (worksforme)

Broken Toolbar Icons

Reported by: Hubert Schölnast Owned by: Tim Kosse
Priority: high Component: FileZilla Client
Keywords: Cc:
Component version: Operating system type: OS X
Operating system version:

Description

There seems to be a problem with the Icons of Filezilla 3.14 running under Mac OS X 10.11 (El Capitan)

View this screenshot: http://hubert.schoelnast.at/allerlei/Bildschirmfoto%202015-10-05%20um%2012.26.30.png

FileZilla Client


Version: 3.14.0

Build information:

Compiled for: x86_64-apple-darwin14.5.0
Compiled on: x86_64-apple-darwin14.5.0
Build date: 2015-09-16
Compiled with: Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Compiler flags: -g -O2 -Wall -g -std=gnu++14

Linked against:

wxWidgets: 3.0.3
GnuTLS: 3.4.4
SQLite: 3.8.11.1

Operating system:

Name: Mac OS X (Darwin 15.0.0 x86_64)
Version: 10.11
CPU features: sse sse2 sse3 ssse3 sse4.1 sse4.2 avx aes pclmulqdq rdrnd
Settings dir: /Users/hubert/.filezilla/

Attachments (3)

SimpleToolbar.diff (376 bytes ) - added by Tim Kosse 9 years ago.
Diff to sample which reproduced the bug.
stderr.txt (1.1 KB ) - added by Tim Kosse 9 years ago.
Error message when starting the sample
Bildschirmfoto 2015-12-12 um 10.12.52.jpg (227.0 KB ) - added by Hubert Schölnast 9 years ago.
Screenshot of 6 apps running simultanously on iMac, among them FileZilla

Download all attachments as: .zip

Change History (32)

comment:1 by Tim Kosse, 9 years ago

Status: newmoreinfo

Modern art ;)

Unfortunately I can't reproduce this problem, FZ works fine here on OS X 10.11

Which graphics adapter does your Mac use?

Do you have any third-party kernel extensions installed?

comment:2 by Hubert Schölnast, 9 years ago

Status: moreinfonew

I didn't install any third-party kernel extensions.

I am using an iMac from late 2012 with a 27" monitor and 2560x1440 pixel display
This is the graphic adapter: NVIDIA GeForce GTX 660M 512 MB

This is the information that I get "about this Mac" (Sorry, some keywords are German, I hope you can understand it anyway):

Hardware-Übersicht:

Modellname: iMac
Modell-Identifizierung: iMac13,2
Prozessortyp: Intel Core i5
Prozessorgeschwindigkeit: 2,9 GHz
Anzahl der Prozessoren: 1
Gesamtanzahl der Kerne: 4
L2-Cache (pro Kern): 256 KB
L3-Cache: 6 MB
Speicher: 16 GB
Boot-ROM-Version: IM131.010A.B08
SMC-Version (System): 2.11f16

And this is from the graphic-section:

NVIDIA GeForce GTX 660M:

Chipsatz-Modell: NVIDIA GeForce GTX 660M
Typ: GPU
Bus: PCIe
PCIe-Lane-Breite: x16
VRAM (gesamt): 512 MB
Hersteller: NVIDIA (0x10de)
Geräte-ID: 0x0fe0
Versions-ID: 0x00a2
ROM-Version: 3707
Monitore:

iMac:

Monitortyp: LCD
Auflösung: 2560 x 1440
Pixeltiefe: 32-Bit Farbe (ARGB8888)
Hauptmonitor: Ja
Synchronisierung: Aus
Eingeschaltet: Ja
Integriert: Ja

L1970H:

Auflösung: 1280 x 1024 @ 60 Hz
Pixeltiefe: 32-Bit Farbe (ARGB8888)
Synchronisierung: Aus
Eingeschaltet: Ja
Rotation: Unterstützt

(I have connected a 2nd monitor, the icons look the same on both screens)

Last edited 7 years ago by Hubert Schölnast (previous) (diff)

comment:3 by Hubert Schölnast, 9 years ago

I also have the same problem on my MacBook Pro (13", Mid 2010)

On both machines the problem appeared after I upgraded from OS X 10.10 (Yosemite) to OS X 10.11 (El Capitan)

Version 0, edited 9 years ago by Hubert Schölnast (next)

comment:4 by mholinka, 9 years ago

Same here since upgrade to El Capitan. No other applications affected so far.
iMac 27" i5 2014

comment:5 by Esger Jellema, 9 years ago

Same here since El C. iMac (21.5-inch, end 2013). Doesn't matter which icon set or size I choose in FZ.

comment:6 by Alexey, 9 years ago

Hi, do you use the language in FZ different from English?
I have the same problem, but fixed it by changing the application' language to English.
The problem reproduced (I reverted Eng to Rus and icons broke again. Another revert Rus to Eng - everythin's OK).
I see relatively close problem with VMware Fusion, and opened the case already. But I cannot fix icon there 'cause there Engish only without possibility to change the language.

in reply to:  6 comment:7 by Esger Jellema, 9 years ago

Replying to Alexey:

Hi, do you use the language in FZ different from English?
I have the same problem, but fixed it by changing the application' language to English.
The problem reproduced (I reverted Eng to Rus and icons broke again. Another revert Rus to Eng - everythin's OK).
I see relatively close problem with VMware Fusion, and opened the case already. But I cannot fix icon there 'cause there Engish only without possibility to change the language.

You are right! I had my language setting to Dutch; Reverted it to English and my icons are back! Thank you!

comment:8 by mholinka, 9 years ago

I can confirm that.
had german language active - switching to english brought back the icons.

comment:9 by Hubert Schölnast, 9 years ago

Yes, I use FZ in a language different from English (German).
Setting the language to english (without restarting) did just changed the language of the menu (but not the windows language!), but still left broken icons. Restarting repaired the icons.

In Detail (changing from german to english, before restart):
Language of menu: English
Language of context menues: English
Language of FZ's main window: German
Icons: Broken

After restarting FZ:
Language of menu: English
Language of context menues: English
Language of FZ's main window: English
Icons: OK

But I don't want to use it in a foreign language. I want to use it in German (I guess, this is what language selection is made for). So I changed back to German. The result was:

In Detail (changing from English to German, before restart):
Language of menu: German
Language of context menues: German
Language of FZ's main window: English
Icons: ok

After restart:
Language of menu: German
Language of context menues: German
Language of FZ's main window: German
Icons: broken

Although changing the language to english fixes the problem, this is not acceptable. Please repair for all languages! (And add different languages to your test-cases!)

comment:10 by Tim Kosse, 9 years ago

Dafuq? This is a most bizarre bug.

The used language should have absolutely no impact on toolbar rendering and yet it does.

comment:11 by Tim Kosse, 9 years ago

Owner: set to Tim Kosse
Priority: normalhigh
Status: newaccepted

comment:12 by Tim Kosse, 9 years ago

For a test I've replaced the German translation with an empty translation file.

The good news: The issue is independent of translated strings.
The bad news: Still corrupted.
The ugly news: This bug turned from bizarre into occult.

comment:13 by Tim Kosse, 9 years ago

It appears to be the locale itself, in particular the locale's number representation.

Example:
English (working): 4.5
Japanese (working): 4.5
German (broken): 4,5
Italian (broken): 4,5

comment:14 by Tim Kosse, 9 years ago

It actually outputs some OpenCL error messages stderr when creating the toolbar:

filter:2:47: error: excess elements in vector initializer
  return img.a * mix(c0, c1, dot(img.rgb, vec3(0,000000e+00, 0,000000e+00, 0,000000e+00)));
                                              ^                ~~~~~~~~~~

Note the floating point numbers, they aren't formatted properly.

All this happens very deep inside OS X and looks like a bug in OS X itself. There's nothing I can do to fix it other than reporting it to Apple.

comment:15 by Tim Kosse, 9 years ago

OS X 10.11.1 beta 4 is available, going to see if this bug perhaps has already been fixed.

comment:16 by Tim Kosse, 9 years ago

Happens in OS X 10.11.1 beta 4 as well.

It is definitely a bug in OS X, it is easily reproducible with a two-line change in their SimpleToolbar sample: https://developer.apple.com/library/mac/samplecode/SimpleToolbar/Introduction/Intro.html

by Tim Kosse, 9 years ago

Attachment: SimpleToolbar.diff added

Diff to sample which reproduced the bug.

by Tim Kosse, 9 years ago

Attachment: stderr.txt added

Error message when starting the sample

comment:17 by Tim Kosse, 9 years ago

I have reported this bug to Apple. Bug report 23164356.

in reply to:  17 comment:18 by Alexey, 9 years ago

Replying to codesquid:

I have reported this bug to Apple. Bug report 23164356.

Thank you for your responsibility!

comment:19 by Alexey, 9 years ago

Guys, I have confirmation from VMware suppprt team. They said my problem tied with system language.
I tried to change my system language from Rus to Eng, and icons on VMware Fusion stoppped to be broken.
Below is the answer of VMWare support:
"Hello Alexey,
Thank you for your response.
We would like to inform you that the reported issue will occur if the system language is set to a different language instead of English. Kindly change the language to English and check if the issue is reproducible or not."
Be advised!

comment:20 by Tim Kosse, 9 years ago

They said my problem tied with system language.

To be precise, it is independent of system language.

It breaks on all programs setting LC_NUMERIC via the setlocale function to a locale using anything other than as dot as decimal point. Note that there's nothing wrong with calling setlocale, the bug is in OS X itself.

It's a common type of bug where a locale-specific formatting function is used in a non-localized context. In this case, floating point numbers are printed in a locale-dependent way, in a context where it is expected that floating points are always formatted as if it were the standard C locale.

comment:21 by Hubert Schölnast, 9 years ago

I reported this bug 7 weeks ago. In this 7 weeks I installed a new version of Filezilla (updated from 3.14.0 to 3.14.1) and a new verison of OS X (updated from 10.11 to 10.11.1) but the bug still exists.

I see no other program having this bug, only Filezilla. And although it might be reported to apple, I think that the guys there are not really working hard on fixing this bug. So what do you think about a workaround? After you've got a number from this buggy system-function use a regex to turn a comma between two digits into a point between the same digits. In perl you can do it with this line:

value =~ s/(\d),(\d)/$1\.$2/g;

I'm pretty sure, that you can fix this in C or any other language as easy.

Last edited 9 years ago by Hubert Schölnast (previous) (diff)

comment:22 by Tim Kosse, 9 years ago

Summary: Broken Menu IconsBroken Toolbar Icons

This is something that happens deep inside OS X itself. Somewhere in the bowels of OS X the graphics subsystem formats a number the wrong way, resulting in an error trying to compile an OpenCL program.

At no point is any of this under the control of the calling program. There's simply no way anybody other than Apple can fix this.

To keep with your regex example: The place to execute this regex would be on the cable between computer and display.

I see no other program having this bug, only Filezilla

There are affected programs such as VMWare Fusion as mentioned in this ticket by Alexey. A quick Google search also shows additional programs being affected, e.g. Eclipse (https://bugs.eclipse.org/bugs/show_bug.cgi?id=479590).

by Hubert Schölnast, 9 years ago

Screenshot of 6 apps running simultanously on iMac, among them FileZilla

comment:23 by Hubert Schölnast, 9 years ago

Some minutes ago I installed an update of OS X (now: OS X 10.11.2 (15C50)). But nothing did change.

If this bug is really so deep inside the core of OS X, then please tell my how all those developers of other apps managed to write their programs in a way that causes no glitches? I'm using more then 30 programs on my iMac and my MacBook written by many different companies. No other program on my devices has this problems, only Filzilla has broken toolbar icons on both devices.

I added a screenshot to this ticket. It shows 6 Apps running at the same time on my Mac. All of them have icons in their toolbars. But only FileZilla can't display it's icons correctly. Obviously the developers of all other Apps are doing something right. Please, dear developers of FileZilla: Please imitate those many others who managed to display icons correctly.

comment:24 by Tim Kosse, 9 years ago

None of these other programs appear to change the locale in the way specified in the ISO/IEC 9899:2011 and POSIX.1-2001 standards. Instead they appear to change locale in a non-portable, Apple-specific way.

Please contact Apple so that they can fix their graphics subsystem to not print numbers wrongly in a locale-specific way where a fixed format is needed.

comment:25 by Hubert Schölnast, 9 years ago

What can I do, when your ticket system rejects my answer to your last post as spam? (Which it is not)

Last edited 9 years ago by Hubert Schölnast (previous) (diff)

comment:26 by Tim Kosse, 9 years ago

Listing a bunch of random product names in a ranty fashion trips the bayes filter. Keep the discussion technical and there shouldn't be an issue.

It has already been established that the fault is in OS X and that only Apple can fix this problem. It has also been proven that the problem affects other programs as well, not just FileZilla.

comment:27 by Hubert Schölnast, 9 years ago

To outwit your grandiose spam filter, I replace the product names with other words written enclosed in *asterisks*.
(Live would be easier, if you was less paranoid)
(Sorry for this childish replacements, but you force me to do so. I'm not happy with this.)

1.
I will not contact *APL* if I see a problem in a product that is from another company.
I saw a problem in FileZilla, so I contacted YOU, the developer team of FileZilla. You can contact your suppliers when you think it is necessary.

Contacting *APL* is your job. It is not your customers job!

2.
Your wrote: "Instead they appear to change locale in a non-portable, *APL*-specific way."
Yes, obviously. So why aren't you also doing it this way?

Just to make it clear: All Programs visible on the screenshot from today also exist as versions for other operating systems, and except *many kam* all of them can change locale. So, when *O'Pera* Software (*O'pera*), Avid (Sibelius), *Mike Rosoft* (*X-CELL*) and mo-zilla (*thunder bird*) change locale in a non-portable, *APL*-specific way for their cross-platform products, why don't you learn from them? Please do what they did. Obviously what they did works, and what you did fails.

Sometimes you are wrong if you are the only one who does it right! And when you see, that doing it right definitely causes an error, then in fact you are doing it wrong.

comment:28 by Tim Kosse, 9 years ago

Contacting *APL* is your job. It is not your customers job!

Read this ticket, Apple has already been notified. You can speed up the process by _also_ contacting Apple. More reports should result in a faster response.

So why aren't you also doing it this way?

Because it isn't necessary, setlocale() already does what it is supposed to do.

Changing perfectly fine functionality to work around a bug in a third-party component would only introduce further regression, locale handling is a very complex topic. Instead, the bugged third-party component needs to be fixed. Were OS X open source software I'd gladly create a patch, but since OS X is closed-source, it falls to Apple to fix this.

Sometimes you are wrong if you are the only one who does it right!

Again, read this ticket, there's other affected software. I have even provided a very simple modification to Apple's official toolbar sample through which this bug can be trivially reproduced.

Last edited 9 years ago by Tim Kosse (previous) (diff)

comment:29 by Tim Kosse, 9 years ago

Resolution: worksforme
Status: acceptedclosed

Apple appears to have fixed this issue in OS X 10.11.4 Beta 4 (15E49a)

Note: See TracTickets for help on using tickets.