Problem: Pinging a remote host (as root) gives EPERM
(operation not permitted), but only randomly—some packets go through,
others don't.
Cause: The netfilter conntrack table is full. Netfilter appears
to drop packets when the table becomes full, and packets sent from the
local host slated for dropping are rejected at the syscall level with
EPERM.
Solution: Increase
/proc/sys/net/ipv4/netfilter/ip_conntrack_max, or use the
NOTRACK filter rule (in the raw table) to designate some
packets to not be tracked.
Problem: After setting up Linux on a new machine, booting from
the hard disk (rather than the rescue DVD used for setup) resulted in
"Warning: Unable to open an initial console" when booting.
Cause: The disk (40GB) was being accessed via CHS rather than
LBA addressing, causing high sector numbers to wrap around to the beginning
of the disk; this was the result of the BIOS misdetecting(?) the drive's
capabilities and forcing CHS mode when booting from it.
Analysis: Traditionally, the "Unable to open an initial console"
error is the result of missing /dev entries (specifically
/dev/console). In this case, however, I had made certain
/dev was set up correctly before trying to boot off the hard disk.
Adding an errno display to the error message showed that
open("/dev/console") was failing with EIO;
instrumentation of the open() code path revealed that the ext3fs code was
marking the /dev inode bad (with make_bad_inode())
because the inode it read in from disk was all zeroes. This occurred with
both the kernel installed on the disk as well as a copy of the kernel from
the rescue DVD, but did not show up when the hard disk was booted directly
from the DVD (using root=/dev/hdc1 on the LILO command line; on
this machine, the CD/DVD drive was /dev/hda and the HDD was
/dev/hdc). After making certain that the sector numbers were
correct, I did some tests, revealing that sectors near the end of the
disk were being mapped to their counterparts 66060288 (0x3F00000) sectors
earlier, near the beginning of the disk. I instrumented the block device
I/O code, and found that the IDE I/O routine
(drivers/ide/ide-disk.c:__ide_do_rw_disk()) was using CHS mode to
access the device. The drive was configured for 16 heads and 63 sectors,
so the 16-bit cylinder value overflowed at 65536*16*63 = 0x3F00000 sectors,
causing accesses to later sectors to be redirected to earlier ones. (The
kernel did not display any error message on cylinder overflow.) Nothing in
the boot sequence suggested that Linux was having problems detecting the
drive, but the reported capacity (CHS 16383/16/63) suggested the BIOS as
the source of the problem, since those values are used for all current
high-capacity drives.
Solution: Changing the HDD access mode in the BIOS from Auto to
LBA fixed the problem.
Problem: While working on a multi-threaded application
(transcode), the program suddenly started terminating with SIGKILL during
execution. No messages were written to the system log.
Cause: When one thread of a multi-threaded application receives
a signal that would cause it to abort and dump core, the Linux kernel kills
all other threads with SIGKILL; see zap_threads() in
fs/exec.c.
Problem: Trying to compile a project in Microsoft Visual C++
resulted in a "fatal error C1001: INTERNAL COMPILER ERROR (compiler
file `f:\vs70builds\3077\vc\Compiler\Utc\src\P2\p2symtab.c', line
1609)" on one source file; attempting to recompile that source file or
compile other source files then resulted in "fatal error C1001:
INTERNAL COMPILER ERROR (compiler file `msc1.cpp', line 2701)".
Solution: Disabling the use of precompiled headers (Project
→ Properties → C/C++ → Precompiled headers) avoided the problem.
According to
this blog,
Visual C++ doesn't work properly when the project is located on a network
drive hosted by Samba.
Problem: When playing back a DVD mastered with transcode and
dvdauthor on a PlayStation 2 (model SCPH-18000), the sound slowly became
out of sync with the video, running about 1 part in 50,000 fast.
Solution: Using the DVD player version 2.01 (distributed on the
HDD utility disc) rather than the built-in player (version 1.??) made the
problem go away; apparently this is a bug in the old player.
Problem: When trying to download updates for Windows 2000,
Windows Update (and Microsoft Update) hanged when checking for updates;
the "busy" indicator scrolled continuously, but no progress was made.
Solution: As described here,
using Dr. TCP
to set the TCP receive window to 13900 and MTUs to 1430 fixed the problem.
It is also necessary to have the BITS (Background Intelligent Transfer
Service) service started.
Problem: When creating a DVD with dvdauthor version
0.6.11, dvdauthor reported "WARN: Video PTS does not line up
on a multiple of a field." after reading/copying the source VOB file,
then reported a video PTS range of (almost) exactly half the proper value.
dvdauthor subsequently aborted with "ERR: Cannot jump to
chapter 40 of title 1, only 39 exist" when processing the menu,
presumably because of the shortened video PTS.
Analysis: Inserting a debug printf() in the
calcpts() function in dvdvob.c revealed that the PTS
computation was resulting in negative values when the base PTS passed
230.
Solution: Changing the type of the fpts local
variable from int to pts_t solved the problem:
--- src/dvdvob.c.old 2005-02-11 05:47:32 +0900
+++ src/dvdvob.c 2006-01-19 13:39:06 +0900
@@ -58,7 +58,7 @@
// I assume pts should round down? That seems to be how mplex deals with it
// also see later comment
- int fpts=getframepts(va);
+ pts_t fpts=getframepts(va);
int bpframe=(basepts*2-*align+fpts/2)/fpts;
if( (*align+bpframe*fpts)/2 != basepts ) {
if( !*didcomplain ) {
Problem: When attempting to draw a line in the Gimp image editor,
the line suddenly flipped to the opposite side (vertically) of the start
point as it was being extended downward.
Analysis: This was reported as a bug on the Gimp bug tracker,
but was closed as INVALID for purportedly being an X server bug. This does
in fact seem to be the case, as viewing the Intel Pentium IV reference
manual (Instruction Set A-M) causes the same problem in the section index
pane when scrolling down through the instruction list: part of the way
down, the line that should be connecting all of the instruction name
branches suddenly flips up to the top of the pane.
Problem: Despite having a .autoreg file in the Mozilla
home directory, an extension added to the components folder was
not loaded.
Solution: The .autoreg file has to be touched
after the extension is added (or possibly after the last time Mozilla was
started?) for it to be recognized.
Problem: While developing a JavaScript-implemented protocol for
Mozilla, the browser started crashing with a segmentation fault.
Cause: The core code was attempting to access the URI
member of the nsIChannel interface without checking that the
result of channel->GetURI() was non-null. The URI member
was null because of an error in the object initialization JavaScript code:
the code read
URI = URI_in;
instead of the correct
this.URI = URI_in;
Problem: While developing the above-mentioned Mozilla protocol,
the browser refused to treat <a href="relative-URI"> as a link.
Solution: Use nsIStandardURL instead of
nsISimpleURI.
Problem: Can't turn off autocomplete in OpenOffice.org Calc.
Solution: It has a different name:
Tools → Cell Contents → AutoInput
Problem: modprobe powernow-k8 (AMD Athlon Cool'n'Quiet
module for Linux) gives "MP systems not supported by PSB BIOS
structure" on an AMD Athlon 64 X2 system with an Asus A8R-MVP
motherboard (BIOS revision 0402).
Cause: The motherboard's BIOS does not include the proper ACPI
tables for CPU power control.
Solution: As described at
http://wejp.k.vu/projects/howto_cnq_athlon_64_x2/,
Linux can be configured to load the DSDT from a file rather than the BIOS,
allowing the proper tables to be added. Naturally this requires a copy of
the particular BIOS's DSDT, as well as the iasl tool (from Intel:
http://www.intel.com/technology/iapc/acpi/downloads.htm)
for converting between the DSDT data format (AmlCode) and source code. The
sequence of operations to modify the DSDT is:
It may be necessary to make additional changes to the DSDT for compilation to succeed; in the particular case of the A8R-MVP rev. 0402, the definition of the \_SB.PCI0 scope had to be moved above the methods which accessed it, and an erroneous Return() around a While block in method WFZF had to be removed.
The specific text added at the beginning of the \_PR scope to the DSDT source code is as follows (for an Athlon 64 X2 4400+ processor). As mentioned in the comments, specific frequency and voltage values will be different for each processor; proper values can be obtained from AMD document #30430 (AMD Athlon(tm) 64 Processor Power and Thermal Data Sheet, see AMD technical documentation list) by checking the CPU's OPN or CPUID values. // From the AMD BIOS and Kernel Developer's Guide for // the AMD Athlon 64(tm) and AMD Opteron(tm) Processors // (#26094), Rev 3.30 (February 2006), sections 9.6.1 // and 9.6.2. The data here is correct for OPN // ADA4400DAA6CD (Athlon 64 X2 4400+). Processor (CPU0, 0x00, 0x00000000, 0x00) { Name (_PCT, Package(2) { // Control // ResourceTemplate () {Register(FFixedHW,0,0,0)}, Buffer () { 0x82, // B0 Generic Register Descriptor 0x0C,0, // B1:2 Length 0x7F, // B3 Address space ID (SystemIO) 0, // B4 Register Bit Width 0, // B5 Register Bit Offset 0, // B6 Reserved (MBZ) 0,0,0,0,0,0,0,0, // B7:14 Register address 0x79,0 // B15:16 End Tag }, // Status // ResourceTemplate () {Register(FFixedHW,0,0,0)}, Buffer () { 0x82, // B0 Generic Register Descriptor 0x0C,0, // B1:2 Length 0x7F, // B3 Address space ID (SystemIO) 0, // B4 Register Bit Width 0, // B5 Register Bit Offset 0, // B6 Reserved (MBZ) 0,0,0,0,0,0,0,0, // B7:14 Register address 0x79,0 // B15:16 End Tag }, }) // end _PCT Name (_PSS, Package (4) // 4: number of P-states { // TransitionLatency and BusMasterLatency are // fixed estimates as in 9.6.2. Control[31:11] // is fixed at 0xE0202800 per 9.6.2.1 ("BIOS // default" and "required" settings); // Control[10:0] and Status are always equal // to VID<<6 | FID. // P0: 2200 MHz (FID 0x0E), 1.350V (VID 0x08) // Note that P0 voltage can vary by processor! // (check MaxVID: FIDVID_Status[52:48]) Package (0x06) { 0x0898, // CoreFreq: 2200 MHz 0x0001ADB0, // Power (110.0W) 0x64, // TransitionLatency: 100us 0x07, // BusMasterLatency: 7us 0xE0202A0E, // Control 0x020E // Status }, // P1: 2000 MHz (FID 0x0C), 1.300V (VID 0x0A) Package (0x06) { 0x07D0, // CoreFreq: 2000 MHz 0x00019C80, // Power (105.6W) 0x64, // TransitionLatency: 100us 0x07, // BusMasterLatency: 7us 0xE0202A8C, // Control 0x028C // Status }, // P2: 1800 MHz (FID 0x0A), 1.250V (VID 0x0C) Package (0x06) { 0x0708, // CoreFreq: 1800 MHz 0x00015C0C, // Power (89.1W) 0x64, // TransitionLatency: 100us 0x07, // BusMasterLatency: 7us 0xE0202B0A, // Control 0x030A // Status }, // Pmin: 1000 MHz (FID 0x02), 1.100V (VID 0x12) Package (0x06) { 0x03E8, // CoreFreq: 1000 MHz 0x0000BF68, // Power (49.0W) 0x64, // TransitionLatency: 100us 0x07, // BusMasterLatency: 7us 0xE0202C82, // Control 0x0482 // Status } }) // end _PSS }
Problem: A Davicom Semiconducter, Inc. 10/100 Ethernet card (PCI
1282:9102) works for exactly one minute (60 seconds) after plugging in an
Ethernet cable, after which no data is received. Unplugging and replugging
the cable allows the card to function for another 60 seconds. Unloading
and reloading the driver module with an immediate ifconfig; ping
allows three ping packets to get through (with latencies of ~2s, ~1s, and
~60ms). The system in use is Fedora Core 5, kernel 2.6.15-1.2054_FC5, with
version 1.1.13 of the tulip driver.
Cause: This appears to be an issue with the tulip
driver, as reported at
http://www.ubuntuforums.org/showthread.php?t=184152.
Solution: Use the dmfe driver instead of the
tulip driver. On systems with automatic module loading, this
requires blacklisting the tulip module in a system-dependent
way (for Fedora Core 5, add "blacklist tulip" to
/etc/modprobe.d/blacklist).
Problem: Attempting to play audio through SDL using the ALSA
driver results in a noticeable lag, no matter how small the SDL audio
buffer is set.
Cause: Seems to be the result of SDL sending data through the
ALSA "dmix" device, which by default uses a buffer of 16*1024 samples.
Solution: Copy /usr/share/alsa/pcm/dmix.conf into
~/.asoundrc, and modify the values under
pcm.!dmix.slave.pcm.period_size and
pcm.!dmix.slave.pcm.periods appropriately.
Problem: Attempting to compile C source code containing UTF-8
Japanese characters in comments, using Visual C++ 2005, gives "Warning
C4819" followed by errors with line numbers that do not correspond to the
actual source code.
Cause: Initial versions of the C compiler distributed with
Visual Studio 2005 (including that as of 2007/1/25 with Service Pack 1 and
the KB912790 hotfix installed) appears to improperly process such files,
treating them as Shift-JIS files. As a result, any inline comment
(// comment) ending with an odd number of full-width characters
may cause the compiler to ignore the following byte, since full-width
characters are 3 bytes in UTF-8 but 2 bytes in Shift-JIS. If this byte is
an LF, as for Unix line breaks, the subsequent line is treated as part of
the same line, and therefore ignored as part of a comment.
Workaround: Use CR/LF instead of LF for line breaks, add extra
whitespace after problem-causing comments, or change such comments to
C-style /* */ comments.
Problem: The X.org X server (version 6.8.1) crashes consistently
when performing certain operations in some applications.
Cause: A misaligned floating-point data value was used with an
SSE2 instruction, causing a segmentation fault (see
bug 1390 on
the X.org bug tracker).
Root cause: Apparently a bug in the GCC code generator.
Workaround: Compile with -mno-sse2.
Problem: Attempting to configure the jabberd server (version
2.0s11) to use an SSL certificate fails, with debug messages reporting
"private key does not match certificate public key". The PEM file
containing the server certificate is readable by the server, and includes
both signed certificate and private key.
Cause: Since a CA chain (actually just a single CA certificate)
was also given in the c2s configuration file, jabberd was loading
that as well; however, it loaded the CA chain after the server key, which
resulted in the server key being deleted from the SSL context (it's unclear
whether this is a bug in jabberd or OpenSSL).
Solution: Edit sx/ssl.c in the jabberd source, moving
the SSL_CTX_use_certificate_chain_file() call immediately after
the SSL_CTX_new() call (before the server certificate is loaded
with SSL_CTX_use_certificate_file()).
Problem: Attempting ls /proc/NNN/fd on the process
dd </dev/zero >/dev/sde1 reported "ls: memory
exhausted".
Analysis: A subsequent attempt to ls /proc/NNN/fd/1
gave a file position of exactly 4GB. Could there be an issue with file
sizes just under the 4GB limit? // No, it also occurs with other values
like 0x1C68000000 and 0x1CB8000000. "stat" seems to work even when
"ls" doesn't.
Problem: Attempting a mysqldump on an InnoDB database
whose shared tablespace file contained bad sectors caused the dump to be
aborted when the bad sector was reached. Attempting to delete the
affected row using the command-line client likewise caused the connection
to be dropped by the server.
Analysis: Viewing the binary logs created by the server revealed
that several log files had been created in quick succession, and the logs
corresponding to the attempts to access the troubled row were not closed
properly. Apparently either InnoDB or the MySQL server itself is unable to
handle an I/O error reading from a table, and crashes.
Problem: Attempting to use Emacs in Unicode (UTF-8) mode resulted
in all Japanese characters being output as U+FFFD, while no problems were
seen in EUC-JP (japanese-iso-2022-8bit) mode.
Solution: Call set-terminal-coding-system after
loading un-define.el from Mule-UCS.
Problem: Attempting to connect to a Jabber server using STARTTLS
with Gaim (1.5 and 2.0beta5) caused the connection to hang, with c2s.log
containing entries reading "error: SSL handshake error (error:140B512D:SSL
routines:SSL_GET_NEW_SESSION:ssl session id callback failed)". Connecting
without SSL works fine.
Cause: OpenSSL was unable to access a random-data source such as
/dev/urandom (due to the process running in a chrooted environment
with minimal /dev entries).
Solution: mknod /usr/local/jabberd/dev/urandom c 1 9
Problem: Pressing the "_ \ ¦ ろ" key on a Japanese 106-key
keyboard does nothing in Xorg.
Workaround: Add the following line to .xinitrc:
xmodmap -e 'keycode 211 = backslash underscore'
Problem: After moving a MySQL/InnoDB database to a new machine,
attempting to access tables in the database resulted in "table doesn't
exist" errors, even though SHOW TABLES listed the tables.
Analysis: The MySQL daemon error log reported:
[ERROR] Cannot find table table-name from the internal data dictionary
of InnoDB though the .frm file for the table exists. Maybe you
have deleted and recreated InnoDB data files but have forgotten
to delete the corresponding .frm files of InnoDB tables, or you
have moved .frm files to another database?
The daemon was also creating ibdata and iblogfile files
in the top directory, even though the files were actually located in the
mysql/ subdirectory.
Cause: The my.cnf on the new machine had the wrong
path listed for innodb_data_home_dir,
innodb_log_group_home_dir, and innodb_log_arch_dir.
Problem: Attempting to blit a rectangular image to a Direct3D 9
device using two triangles defined with XYZRHW coordinates resulted in the
lower-right triangle being drawn with reduced resolution.
Analysis: Possibly the result of the renderer drawing the texture
at a nonzero mipmap level, though the texture was created with 1 level and
the mipmap filter was disabled. This may be the result of overenthusiastic
optimization in the DirectX library, since adjusting the U/V coordinates of
the vertices so that they are not exactly 0.0 or 1.0 (see the next problem)
also eliminates the problem.
Workaround: Rearranging the vertices so that both triangles
contained the point (0,0) made the problem go away.
Problem: Attempting to blit an image to a Direct3D 9 device
resulted in the image being shifted right and down one pixel within the
blit region, with the top row and left column of the image duplicated.
Cause: Apparently due to the Direct3D engine truncating rather
than rounding texture coordinates when the sampler is set to
D3DTEXF_POINT mode.
Workaround: Add 0.1/width to the U coordinate and 0.1/height to
the V coordinate of each vertex.
Problem: After replacing a custom-built X.org X server and NVIDIA
video drivers with ones compiled via Gentoo's Portage system, attempting to
start the X server with the GLX module loaded caused the server to segfault
in realloc() immediately after loading that module.
Workaround: Replacing the two (tls and no-tls)
versions of libnvidia-tls.so.1 with those from the independently
compiled version resolved the problem.
Problem: When attempting to install GIMP via Gentoo, the build
process failed with: "failed to load "./cursor-bad.png": Couldn't
recognize the image file format for file './cursor-bad.png'".
Cause: /etc/gtk-2.0/gdk-pixbuf.loaders was empty, due
to an installation-time dynamic linking failure of
gdk-pixbuf-query-loaders.
Problem: Trying to install the GRUB bootloader on a system where
the /boot directory was located on a software RAID1 partition
(/dev/md0) gave the error "/dev/md0 does not have any
corresponding BIOS drive", and GRUB refused to install.
Solution: Temporarily edit /etc/mtab to replace the
relevant pseudo-device (e.g. /dev/md0) with the corresponding
physical device (e.g. /dev/sda1), run GRUB, then revert
/etc/mtab to its original contents.
Problem: Upon loading certain files created with Microsoft Office,
OpenOffice.org 2.3.1 (binary release) gets stuck in an endless loop of
crashing, attempting to recover previously open files, and crashing again.
When started from a shell, the program reports a
"berkeleydbproxy::DbException" error.
Workaround: Delete all *.db files in the
~/.ooo-2.0 directory hierarchy.
Problem: Attempting to install VMware Workstation 6.0.2 via
Gentoo's Portage system resulted in an undefined symbol error for a C++
symbol when starting the program.
Solution: Re-emerge libview. (The problem was caused by
compiling libview after gtkmm had been compiled with
USE=-accessibility; apparently libview adds extra features when
gtkmm is built with the accessibility flag enabled, and VMware
depends on these features.)
Problem: When using a USB mouse with X.org 7.2, the pointer moves
too quickly (in 2-pixel increments), and is unaffected by the
xset m command.
Solution: In xorg.conf, change the line in the mouse's
InputDevice section reading:
Option "SendCoreEvents" "true"
to:
Option "CorePointer"
Problem: When trying to use VMware Workstation 6.0.4 on a Gentoo
Linux system with D-Bus 1.1.20 installed, running the "vmware"
command reports an error from the D-Bus library and returns to the command
line without doing anything else.
Solution: DBUS_FATAL_WARNINGS=0 vmware
Problem: Programs compiled under MinGW (gcc-3.4.2) fail to
retrieve their command-line arguments when run from /bin in the
standard MinGW shell (rxvt), always reporting argc == 1 regardless
of what arguments may have been given on the command line. The same
executable works normally when placed in a different directory (e.g.
/ or /bun), but will
not work from /bin regardless of filename or whether an absolute
or relative path was used to invoke the program.
Cause/Solution: Unknown. (Perhaps rxvt is using the wrong
Windows facilities to run the programs? ipconfig.exe also fails
to get command line arguments when run from rxvt.)
Problem: Attempting to configure atk-1.22.0 with MinGW failed,
with an "undefined reference to `CoTaskMemFree@4'" compilation
error reported in the configure log.
Solution: Add -lole32 to the library list in
/usr/lib/pkgconfig/glib-2.0.pc.
Problem: Attempting to boot Linux 2.6.25 (Gentoo package
gentoo-sources-2.6.25-r8) using GRUB 0.97 (Gentoo package grub-0.97-r5)
sporadically fails, complaining that the root filesystem is inaccessible.
Cause: The boot command line is not null-terminated when the
kernel receives it (as indicated by the "Kernel command line:" message in
the kernel log). If the "root=" parameter is the last on the command line,
the root device can thus be misinterpreted if the next byte in memory has a
value other than zero.
Workaround: Add a space to the end of the command line. The bug
may be fixed in grub-0.97-r6 (not yet confirmed).
Problem: The OpenOffice.org interface looks ugly.
Solution: export OOO_FORCE_DESKTOP=gnome
Problem: On startup, VMware Workstation 6.5.0 reports incorrectly
that kernel modules need to be recompiled.
Cause: Workstation attempts to check module information via the
modinfo program, but does so as the user running the program, not
as root; so if the module database (/lib/modules/*/modules.dep) is
protected, the program will be unable to obtain the module information and
assume the modules must be recompiled.
Workaround: On Gentoo: chgrp vmware /sbin/modinfo; chmod 4710 /sbin/modinfo
Problem: The iTunes store arrow links in iTunes 8 cannot be
disabled via preferences.
Solution: In MacOS X:
defaults write com.apple.iTunes show-store-arrow-links -bool FALSE
(from here).
Problem: When dynamically adding widgets to a GtkVBox inside a
GtkHBox, the widgets are shown normally if the GtkHBox is a GtkNotebook
page, but their sizes are all forced to 1x1 pixel if the GtkHBox is inside
a GtkScrolledWindow/GtkViewport pair.
Analysis: In the GtkScrolledWindow case, the widgets'
size_request() method is not called before their locations and sizes are
set with size_allocate().
Workaround: Call gtk_widget_size_request() on the GtkHBox
immediately after calling gtk_widget_show() on each new widget. (Pass a
dummy GtkRequisition buffer to the function; the values returned are
unimportant, but the call will trigger a size_request() on all child
widgets.)
Problem: Windows XP SP3 displays a security warning whenever a
program is run.
Solution: Add the following key to the registry:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Associations]
"LowRiskFileTypes"=".exe;.com;(other file types)"
Problem: When using Windows XP as installed from the downgrade
disc included with a new Toshiba Dynabook SS RX2/T7G laptop, part or all
of the display wavers (rapidly shifting left or right by 1-2 pixels) when
AC power is disconnected.
Solution: Upgrade the Intel graphics driver using the latest
Mobile Intel 4 Series Express Chipset Family driver from Intel's website.
(The setup program will refuse to run, but the driver can be installed
directly from the extracted files using the standard Windows driver
upgrade procedure. Make sure to leave the error message onscreen so the
setup program doesn't delete the extracted files.)
Problem: When using Mozilla Seamonkey 1.1 with GTK+ 2.14 (and
possibly other versions), web page display elements such as text and images
may shift position by a pixel, and scanlines may be deleted or replicated
when scrolling the page vertically using the mouse wheel (with smooth
scrolling off).
Workaround: Force the X display to 96dpi in xorg.conf;
see e.g.
https://bugzilla.redhat.com/show_bug.cgi?id=387561
https://bugzilla.mozilla.org/show_bug.cgi?id=20802
Problem: Sane settings for SeaMonkey mail (Thunderbird)?
Solution: (See also http://kb.mozillazine.org/Mail_content_types and http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird)
問題:I・O DATAのHDDレコーダー「Rec-POT HVR-HD250R」からパナソニックのブルーレイレコーダー「ディーガ (DIGA) DMR-BW750-K」に録画済みの番組を移したい。
手順:(このサイトを参考にした。)
移動には再生と同じだけの時間がかかり、その間は各機器を操作してはならない。また複数の番組を移すには、一つずつ選択して移動しなければならない。(Rec-POTのプログラム画面で複数の番組をマークすると、ディーガ側で一つの番組として録画される。)
なお、番組の途中で音声形式が切り替わる場合(サラウンド→ステレオなど)、ディーガで再生すると切り替わり時点で画面が数秒間停止してしまう。これはRec-POT側の録画における不具合と思われ、Rec-POTで再生しても、映像は停止しないが音声が途切れてしまう。
Problem: The mplex program from the mjpegtools package
reports "file unrecogniseable" when given a PCM file as input.
Solution: Rename the file to have an extension of ".lpcm".
Also note that the audio data must be in big-endian format, not little-endian.
Problem: Attempting to uninstall Visual C++ 2005 Express Edition
fails with the message: "Setup is unable to determine a valid ordering for
the installation. See the error log for further details." The error log
(located in the user temporary folder, %TEMP%) contains the message:
"Dependency Manager: [2] CDependencyManager::ValidateDependencyStates() :
Parental dependency is not satisfied for component &Graphical IDE. Parent
dependencies can't be in removing mode."
Workaround: (from this forum thread)
Install a new component, then uninstall the entire program.
Problem: There don't seem to be any good, comprehensive
comparisons of graphics card power consumption.
Cause: Unknown, but possibly because people who are interested
in the details of graphics card performance don't care about saving energy.
Analysis: The NVIDIA GeForce 9500 GT uses roughly the same
amount of power as the 6600 GT when idle (system consumption 76-77W and
75-77W respectively), but significantly less than the 6600 (90W vs. 125W)
on 3D loads that saturated the 6600's processing capability.
問題:ATOKX3のCtrl+Space割り当てを無効化できない(Shift+Spaceに変更することだけ可能)。このため、OpenOfficeなど他のプログラムでCtrl+SpaceまたはShift+Spaceが使えない。
解決方法:(このサイトから)/usr/bin/iiimdおよび/usr/lib/iiim/iiim-xbeをバイナリエディタで開いて「Zenkaku_Hankaku」をサーチし、その文字列の先頭から「<Ctrl>space,」「<Shift>space,」(iiim-xbeでは最後のカンマがスペースとなる)を削除する。「Zenkaku_Hankaku」と次の文字列の間はヌルバイトで埋める。
Problem: The Gentoo vmware-modules-1.0.0.25 package failed to build with the following errors: include/linux/mmzone.h:18:26: error: linux/bounds.h: No such file or directory include/linux/mmzone.h:251:5: warning: "MAX_NR_ZONES" is not defined [...] Solution: Run make prepare in the Linux source directory to create the include/linux/bounds.h file.
Problem: When running Windows 2000 under VMware Workstation 6.5.3
on a Linux (Gentoo) host, moving the mouse outside a roughly 640x480 region
in the guest window causes the auto-grab functionality to ungrab the mouse,
making it nearly impossible to manipulate anything outside of that region.
Workaround: export VMWARE_USE_SHIPPED_GTK=force
(from here
and here).
Problem: The blue "DPI" LED on recent (2009) Buffalo mice is
distracting because it's always on except when switching DPI.
Solution: Cut JP8 (image).
Problem: Running umount /mountpoint fails with
"Device or resource busy", but lsof doesn't show any processes
using files on the corresponding device.
Possible cause: A file on the filesystem may be mounted as a
loop device.
Problem: Nobody can seem to agree on what order to use for
channels in a 5.1 PCM audio stream.
Analysis: FFmpeg (r21602) outputs
FrontLeft-FrontRight-Center-LFE-RearLeft-RearRight for 5.1 AAC and AC3.
Problem: Piping a 48000Hz/2ch/16bit PCM stream through
aplay results in playback looping on a roughly 0.2-second piece of
audio after slightly less than 6 hours, 13 minutes of continuous playback.
(Reported as ALSA bug 5190 [2016-11-09: link appears to be dead].)
Analysis: (1) 0.2 seconds of audio = 38400 bytes, so this may be
a single 32k buffer looping continuously. (2) 6hr 13min = 22380sec,
22380sec * 48000 samples/sec * 4 bytes/sample = 4296960000 bytes
(232 bytes = 6hr 12min 49.6sec), so there may be a 32-bit
counter overflowing somewhere. (3) Using /dev/dsp at 44100/2/16,
audio output stopped after about 3hr 23min = 12180sec; 12180 * 44100 * 4 =
2148552000, i.e. a 231 problem. Setting xrun_debug to
3 does not produce any debug output at that point, but the vplay
process seems to terminate (rather than hanging).
Source code analysis: Each PCM stream has a sample counter
(runtime->hw_ptr) which runs from 0 to a boundary value
calculated at pcm_native.c:445 (Linux 2.6.33) as the largest
power-of-two multiple of the boundary size which is less than
LONG_MAX minus the buffer size; on a 32-bit machine, if the buffer
size is a power of two, this will naturally lead to a boundary value of
0x40000000 (230) samples, exactly the point at which the
aplay bug occurred. However, setting the boundary size to a
smaller value (0x10000, 0x40000, 0x100000, or even 0x10000000) did not
trigger the bug; audio continued playing smoothly, and xrun_debug=31
output showed the various hardware counters properly rolling over to zero
at the boundary point.
Workaround: Change LONG_MAX to LONG_MAX/4 in
the condition for the while loop that sets
runtime->boundary in sound/core/pcm_native.c (line 445
in Linux 2.6.33). Doesn't work!
Further analysis: Assuming this is a library (alsa-lib) issue,
the 0.2-second loop time matches the pcm->buffer_size value for
this configuration (8192 samples). An strace capture indicates that
snd_pcm_softvol_write_areas() is being called continuously during
the looping playback (confirmed by calls to
ioctl(SNDRV_CTL_IOCTL_ELEM_READ)); further, when the looping audio
changes (about once every 18 seconds), a huge amount of audio (enough to
cover the interval between changes) is read in at once. Since the relevant
counter variables in aplay.c are of type off64_t and thus
should not overflow, this suggests snd_pcm_writei() is effectively
stalling for extended periods of time without disrupting the actual number
of audio frames received or played. Debug output indicates that the
internal function snd_pcm_wait_nocheck() is looping over
poll() calls, with the dmix driver ignoring the POLLIN
result most of the time.
Cause: The rate plugin does not calculate the boundary value
properly; the boundary value is calculated using the buffer size in
snd_pcm_rate_sw_params(), but the pointer is advanced in units of
the period size. Depending on the ratio of sampling rates or of period to
buffer size, this can result in resulting in a modulo excess when checking
available space at the point of wraparound. For example, when converting
44.1kHz to 48kHz with a period size of 1024 samples and a buffer size of
8192 samples (as in the case of aplay), the computed boundary
value is 6 parts in 7520 (7526/(8*940)) greater than the actual wraparound
point. The boundary value is set based on LONG_MAX, so on 32-bit
systems (where this is 231-1), the base boundary value is
230 samples; after that number of samples have been played, the
rate plugin will attempt to insert 6*(230/8192) = 786432 samples,
or about 17.4 seconds, worth of audio when there is in fact no such free
space in the lower-level modules' buffers.
Solution: Change buffer_size to period_size
in the following lines of the snd_pcm_rate_sw_params() function
(lines 384 and 385 of pcm_rate.c in alsa-lib-1.0.23):
boundary1 = pcm->buffer_size;
boundary2 = slave->buffer_size;
Problem: When using libglade to create a GTK+ user interface,
libglade reports symbol resolution errors for signal callbacks despite the
callbacks being declared extern.
Solution: Pass -export-dynamic to the linker.
Problem: When trying to donate to a website through PayPal, the
interface changes to Japanese as soon as "Japan" is selected from the
country list and does not include a "change language" button to use English
instead.
Workaround: Visit the PayPal home page (www.paypal.com);
a CSS popup will allow you to select the country (Japan) and language
(English). Then click the site's "donate" button to open the PayPal
payment page, and the language should remain English even after selecting
Japan as the country. (This no longer seems to work as of August
2013.)
Problem: Running "reset vsh" in PSPlink from the
unofficial PSP SDK crashes when run on a PSP-2000.
Solution: Use a 32MB (PSP-1000) build of PSPlink instead.
Problem: Using the "-aid N" option to MPlayer with an
MPEG TS file sometimes causes the first second or so of video to be dropped.
Cause: When a stream ID is specified on the command line, MPlayer
starts decoding from the point in the file at which that stream was first
found, even if other streams used in playback start earlier in the file.
Workaround: Explicitly specify the video stream with
"-vid N".
Problem: During a Gentoo Linux system update, attempting to
install dev-perl/IO-Socket-SSL-1.390.0 gave the error: "You need the
XS Version of Scalar::Util for dualvar() support".
Workaround: Reinstall perl-core/Scalar-List-Utils (as suggested
here).
Problem: After changing an Xcode 3.2.6 iOS project target from
"iPad" to "iPhone/iPad", Xcode still refused to run a program on a properly
provisioned iPod, reporting "no provisioned iOS device is connected".
Cause: PEBKAC: The target was only set in one of the build
configurations rather than all of them.
Problem: Firefox 7 strips "http://" from URLs.
Solution: Set browser.urlbar.trimURLs to false.
Problem: growisofs always enables verify-during-write mode when
writing Blu-ray discs (thus slowing down writes by a factor of 2, wasting
time if the disc will be read-verified afterward anyway).
Solution: growisofs -use-the-force-luke=spare:none -Z /dev/bd=...
Problem: Attempting to connect to an HTTPS server using Perl
(with LWP::Protocol::https and IO::Socket::SSL) fails
with "Can't connect" even though connecting with a browser works fine.
Cause: The SSL_ca_file pathname was incorrect.
Problem: Attempting to connect to an HTTPS server using Perl
(with LWP::Protocol::https and IO::Socket::SSL) fails
with OpenSSL error 14090086 ("certificate verify failed") even though the
CA certificate file is correctly set.
Cause: The URL used an IP address for the hostname but the
server's certificate had the hostname instead.
Problem: Recent versions of SeaMonkey/Firefox put the "Find"
toolbar at the top of the window, so that when you enter Find mode, the
page content shifts down and it's easy to lose your reading place
(bug 248715).
Workaround: Add the following (for SeaMonkey 2.15) to
userChrome.css:
findbar {
position: fixed;
bottom: 26px;
border: 2px outset #9e9a91;
min-width: 1px;
background-color: #dcdad5;
}
(The Find bar appears to have been moved back to the bottom in
bug
914180.)
Problem: Attempting to add a library from the Android SDK
"extras" directory to an Android project caused a build failure with the
error: "/opt/
Analysis: strace showed that the build process was trying to open /tmp/
Workaround: When adding a library to a project with android update project --library <path>, specify the root directory using a sufficient number of ../ repetitions instead of a single leading slash.
Problem: In recent versions of Emacs, typing a space in
incremental search mode will match tab characters as well.
Solution: (setq isearch-lax-whitespace nil)
Problem: Calling the getClass() method on a Java class from
an Android native code program sometimes returns a value which is not a valid
Java reference, leading to the program segfaulting with "Invalid indirect
reference" when it tries to use that value as a class reference.
Cause: If a Java exception is pending, JNI calls from native
to Java code seem to return undefined values.
Solution: Always check for exceptions before using the
return value from a JNI call.
Problem: When collecting coverage statistics for a GCC-compiled
program, gcov reports "file.gcno:corrupted" for
some object files.
Cause: The contents of the .gcno file do not match
the corresponding object file. This can occur when switching from a
non-profiled build to a profiled build and using the same directory for
object files without first running make clean or similar.
Problem: An Android NDK app built with revision 8d of the NDK
randomly passes an incorrect value for a parameter to the glTexImage2D()
function.
Analysis: The value in question was set based in part on the
result of a call to an external function marked with the "pure" attribute.
Disassembly of the object file revealed that the call had been completely
omitted (the function was never called at all), causing the conditional
expression to be evaluated based on whatever happened to be in one of the
CPU registers (presumably the register designated to hold the function's
return value).
Workaround: Don't apply __attribute__((pure)) to
functions when building for ARM (armeabi-v7a) with GCC 4.6.
Further analysis: This actually seems to be unrelated to the
"pure" attribute. Removing that attribute caused the function to be
called, but the return value was still ignored and an uninitialized
register used instead. The root cause appears to be an optimizer bug in
the GCC 4.6 binary distributed in the NDK, reported as
Android
bug 60924.
Workaround: Disable optimization on affected functions, or use
a newer compiler version.
Problem: TCP connections to some sites fail through Linux NAT.
Solution: Reduce the MTU on the client machines to match the
MTU of the gateway system (1454 for PPPoE).
Problem: Twitter's "Top Tweets" box is annoying.
Workaround: Add the following to the browser's user stylesheet
(userContent.css in Firefox/SeaMonkey):
div.top-stream-header { display: none !important; }
div.top-stream-container { display: none !important; }
/* Added 2015-08-17: */
li.has-recap { display: none !important; }
Problem: Twitter's highlighted tweets with different font sizes
are annoying.
Workaround: Add the following to the browser's user stylesheet:
.ProfileTweet--low .ProfileTweet-text { font-size: 16px !important; font-weight: 400 !important; line-height: 22px !important; }
.ProfileTweet--medium .ProfileTweet-text { font-size: 16px !important; font-weight: 400 !important; line-height: 22px !important; }
.ProfileTweet--high .ProfileTweet-text { font-size: 16px !important; font-weight: 400 !important; line-height: 22px !important; }
.TweetTextSize--26px { font-size: 16px !important; line-height: 22px !important; }
.TweetTextSize--jumbo { font-size: 16px !important; line-height: 22px !important; }
.TweetTextSize--large { font-size: 16px !important; line-height: 22px !important; }
Problem: Running apitrace
on a program which forks a subprocess results in a corrupted trace file
after the parent process exits.
Cause: Possibly because the parent process tries to close its
compressed stream without realizing additional data has been written to the
output file?
Workaround: Copy the trace file to a separate file after the
lowest-level child process exits. Make sure no parent process tries to
write additional trace data in the interim.
Problem: Attempting to create a 32-bit Wine environment on a
64-bit system using WINEARCH=win32 fails with "wine: WINEARCH
set to win32 but 'path' is a 64-bit installation", even if
path is an empty directory.
Workaround: Remove the directory and let Wine create it with
"WINEARCH=win32 WINEPREFIX=path winecfg". (But according
to some
reports, this may not work consistently.)
Problem: After mounting an NFS filesystem at a directory located
under the mount point of a different NFS filesystem, attempts to access the
inner filesystem fail.
Cause: Unknown, possibly a Linux kernel bug?
Workaround: Run ls -l on both the parent of the mount
point and the mount point itself (the latter will normally be empty)
before mounting the inner filesystem.
Note: This appears to be fixed as of Linux 3.14.
Problem: The default theme in GTK+ 3.x looks worse than in 2.x.
Solution: Mostly fixable with a CSS
theme (a slightly edited version of the default
GTK+ 3.x theme), though GTK+ 3.x renders thick inset/outset borders in
monotone rather than duotone so the border colors don't match exactly.
Problem: Mac OS X 10.8 deprecates the UpdateSystemActivity()
system function, and the official recommended replacement
(QA1340)
is several pages of code irrelevant to "pinging" the system idle timer.
Solution: Use IOPMAssertionDeclareUserActivity()
(declared in <IOKit/pwr_mgt/IOPMLib.h>; use
-framework IOKit).
Problem: During a parallel build, GNU make failed to
apply a pattern rule with a nonexistent prerequisite even though its
prerequisite could be built using another rule. Specifically, in a
sequence of rules equivalent to:
%.foo: %.def
cp $*.def $*.foo
cp $*.def $*.bar
%.bar: %.foo
file2.bar: file1.bar
cp $< $@
the final cp failed because file1.bar did not
exist, even though the dependency chain should have delayed the execution
of the command until the %.foo: %.def rule finished execution.
Workaround: If a recipe generates multiple outputs, include
all output patterns in the pattern rule's target list:
%.foo %.bar: %.def
cp $*.def $*.foo
cp $*.def $*.bar
file2.bar: file1.bar
cp $< $@
The recipe will still only be run once, but it will be triggered for
a target that matches any of the patterns, and all target patterns will be
considered updated.
Problem: Booting Linux on a Dell XPS 12 laptop causes the screen
to go black when the kernel switches to a framebuffer console.
Cause: The backlight brightness is getting set to zero, which
causes the system to turn the display off.
Solution: (from various sources) Add "acpi_backlight=vendor"
to the kernel command line, or press Fn+F5 to increase the backlight
brightness.
Problem: Sony PS3 controllers are no longer recognized by the
Linux kernel after upgrading from Linux 3.10.7 to Linux 3.11.8.
Cause: The 3.11 driver newly depends on kernel configuration
options CONFIG_NEW_LEDS and CONFIG_LEDS_CLASS.
Problem: Gentoo's Portage system has no facility for applying
custom patches to arbitrary packages. (The epatch_user facility
only functions when the ebuild explicitly calls it.)
Solution: Add post_src_unpack and
post_src_prepare functions to /etc/portage/bashrc which
call the epatch function for all relevant patches, such as in
this script.
Problem: Module addresses in an iOS stack trace don't match up
with the code listing as reported by "otool -tv".
Solution: Add 0x4000 to the module addresses in the stack
trace.
Problem: Attempting to convert a Python bytearray of UTF-8 text
to a Unicode string in Python 2.7 by passing it to unicode() fails
with "TypeError: decoding bytearray is not supported".
Solution: Use bytearray.decode("utf-8"), or use
Python 3.0 or later.
Problem: After connecting an Android 2.3.3 device (Xperia Play)
to a computer via USB and turning the device on, the adb tool
refused to recognize the device.
Analysis: dmesg showed that the device was connected
in mass storage mode, despite the device itself claiming to be connected in
media transfer mode. The timestamp of the log message matched the time
when the device was turned on, so it may have booted in mass storage mode
and failed to switch to media transfer mode.
Solution: Disconnect and reconnect the device.
Problem: Linux udev sets the mode of a joystick's event device to
0600 owned by root, preventing ordinary users from accessing it.
Solution: Create the file
/etc/udev/rules.d/99-joystick.rules with the following content:
KERNEL=="js*", GROUP="console", MODE="0660"
DEVPATH=="*/input*/event*", PROGRAM=="/bin/sh -c 'test -d /sys'\''%p'\''/device/js* 2>/dev/null'", GROUP="console", MODE="0660"
Replace the console in GROUP="console" with an
appropriate group name for the system, or use OWNER="username",
MODE="0600" to make the device nodes owned by a specific user.
Problem: OpenGL returns GL_INVALID_ENUM when querying
framebuffer parameters with
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
...).
Cause: OpenGL requires GL_DEPTH (without the
"_ATTACHMENT" suffix) when querying the default framebuffer.
Problem: A disk image of a Windows 2000 system drive will not
boot when transferred to another disk, even when the partitions start at
the same absolute sector number.
Cause: The target disk's CHS (cylinder/head/sector)
configuration differs from that of the source disk.
Solution: Force the bootloader to use LBA addressing by
modifying the two bytes at offset 0xE6 in the image from 0F 82 to
90 E9.
Problem: After copying a Windows 2000 disk image to a new disk,
Windows shows a paging file error on boot and will not allow the user to
log in.
Cause: (from KB249321)
Windows sees the new disk as a different disk than the original and assigns
it a different drive letter, preventing it from accessing the paging file
on the drive. (The values under the MountedDevices key mentioned
below appear to consist of the 32-bit volume ID followed by a 64-bit
partition offset, suggesting that if the volume ID and partition location
remain the same, the partition will be recognized as the same disk.)
Solution: In Linux, install the
chntpw program, mount the
Windows drive, then run the following commands (assuming the drive is
mounted at /mnt/windows):
chntpw -e /mnt/windows/WINNT/system32/config/SYSTEM
cd MountedDevices
delallv
q
Then ensure that the system drive is the only partition visible to
Windows when it boots.
Problem: An iPad app playing audio in the SoloAmbient
category only has sound when headphones are plugged in; no sound is played
through the built-in speaker. The volume buttons work as usual, and the
AVAudioSession instance reports a nonzero volume for speaker
output.
Cause: The device's side switch is set to Mute mode in the
device settings and the switch is turned on, or the switch was turned on
at some point in the past and the side switch mode was then changed to
"Lock Rotation" mode. (The mute switch affects only SoloAmbient
and Ambient audio sessions, not Playback audio sessions
such as the Music app.)
Solution: Set the side switch to "Mute" mode in the General
page of the Settings app, then turn the switch off (first turning it on if
it is currently in the off position).
Problem: When using Emacs 23 in a terminal, Emacs sometimes
fails to switch out of the alternate terminal display when exiting or
suspending.
Cause: Unknown. Does not appear to be the race condition
suggested at
http://debbugs.gnu.org/db/10/10959.html.
Workaround: Create the following shell script and place it
somewhere before /usr/bin in the executable path (replace
/usr/bin with the actual directory where the Emacs executable is
installed):
#!/bin/sh
echo -n $'\033[?47h'
/usr/bin/emacs "$@"
echo -n $'\033[?47l'
Remember to chmod a+x the script and clear the executable
path cache (hash -r in Bourne shell, rehash in csh) so
the script can be found. This only solves the problem when exiting the
editor, not when suspending it.
Problem: When using Libreoffice Writer (version 4.2.6.2), page
numbers in the page footer are incorrect, such as "1, 1, 2, ...".
Workaround: Close and reopen the document.
Problem: The XRRSetCrtcConfig() function returns failure
when changing from a lower resolution to a higher one on termination of a
fullscren X11 program, but only when the program is terminated with Ctrl-C
(SIGINT).
Cause: The X and Y arguments to the call were taken from the
current CRTC values instead of the mode configuration, and those values
were invalid (would have caused the viewport to go outside the bounds of
the screen's framebuffer) for the target mode. The call succeeded under
other conditions because the fullscreen window was located at coordinates
(0,0), and it failed under SIGINT because the screen had been
scrolled in order to type ^C in the terminal window from which the program
had been run.
Problem: When looking up a USB device path on Windows XP with
GetRawInputDeviceInfo(RIDI_DEVICENAME), passing the returned path
to CreateFile() results in an ERROR_INVALID_NAME error.
Analysis: The returned path begins with "\??\", an apparent
typo of the raw-path prefix "\\?\".
Workaround: Check for the erroneous prefix and, if found,
replace the second byte (the first "?") with a "\".
Problem: In the Mac OS X Disk Utility, attempting to increase the
size of a bootable volume to fill the following free space appears to
succeed, but the volume size does not actually change.
Cause: The volume's recovery partition is located immediately
after the end of the data partition (and Disk Utility is not smart enough
to move it).
Workaround: Create a dummy volume filling the free space; copy
an existing bootable volume over that dummy volume; then, using the
diskutil command-line utility as shown below, copy the original
volume's recovery partition over the new volume's recovery partition and
merge the original volume over its recovery partition and the new volume's
data partition. (This must be performed while booted from a volume which
is neither the volume to be resized nor the volume copied over the dummy
partition.)
$ sudo bash
Password:
# diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 123.5 GB disk0s2 (1)
3: Apple_Boot Recovery HD 650.0 MB disk0s3 (2)
4: Apple_HFS Yosemite 69.3 GB disk0s13 (3)
5: Apple_Boot 650.0 MB disk0s14 (4)
6: Apple_HFS Yosemite 28.6 GB disk0s4
7: Apple_Boot Recovery HD 650.0 MB disk0s5
[...]
# diskutil unmount (1)
Volume Macintosh HD on (1) unmounted
# diskutil unmount (3)
Volume Yosemite on (3) unmounted
# dd bs=67108864 if=(2) of=(4)
9+1 records in
9+1 records out
650002432 bytes transferred in 28.273851 secs (22989526 bytes/sec)
# diskutil mount (4)
Volume Recovery HD on (4) mounted
# diskutil rename (4) 'Recovery HD'
Volume on (4) renamed to Recovery HD
# diskutil unmount (4)
Volume Recovery HD on (4) unmounted
# diskutil mergePartitions JHFS+ foo (1) (3)
Merging partitions into a new partition
Start partition: (1) Macintosh HD
Finish partition: (3) Yosemite
Started partitioning on disk0
Merging partitions
Waiting for the disks to reappear
Growing disk
Finished partitioning on disk0
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *320.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 193.5 GB disk0s2 (1)
5: Apple_Boot Recovery HD 650.0 MB disk0s14 (4)
6: Apple_HFS Yosemite 28.6 GB disk0s4
7: Apple_Boot Recovery HD 650.0 MB disk0s5
[...]
# exit
$
Problem: Seamonkey 2.31 on Linux fails to start up after
upgrading from 2.30, only showing the "clear private data" dialog and
reporting "###!!! ABORT: Aborting on channel error.: file
[...]/comm-release/mozilla/ipc/glue/MessageChannel.cpp, line 1618"
to the console.
Workaround: Attaching to the process with gdb when
the dialog was shown and then detaching allowed the program to start up
normally on future runs.
Problem: If an iPad is left connected to a Mac through the
keyboard USB connector while the Mac is asleep, the iPad's battery will
drain.
Analysis: Appears to be because the iPad only turns its screen
off and remains awake when the Mac goes to sleep. According to Apple, this
is the intended behavior (bug 16644444).
Problem: CMake attempts to configure for an in-source build even
though run from an out-of-source directory and the source tree does not
contain any CMakeCache.txt files.
Solution: Make sure cmake was invoked with the path
to the source tree (directory), not the path to the CMakeLists.txt
file itself.
Problem: Attempting to screencast (video/audio capture) from
Linux using FFmpeg 2.2.11 leads to repeated "ALSA buffer xrun" messages
from FFmpeg associated with pops in the recorded audio and "Non-monotonous
DTS in output stream" messages associated with complete audio desync.
Cause: FFmpeg's ALSA recording logic is broken.
Workaround: Patch FFmpeg to
not
consume data from a raw audio pipe source, then use the arecord
tool to record audio and pipe it through FFmpeg. Proper audio/video sync
may require applying a slight time offset to the audio stream using the
-itsoffset option as well. For example:
arecord -D hw:0,0 --period-size=512 -t raw -f s16_le -c 2 -r 48000 \
| ffmpeg -f s16le -ac 2 -ar 48000 -channel_layout stereo -itsoffset -0.1 -i pipe:0 [...]
Problem: After restarting the X.Org X server, most bitmap fonts
fail to load, with only the "6x13" font (a.k.a. "fixed", the default font)
and a few Japanese fonts still working.
Cause: The fonts had been upgraded from Latin-1 (iso8859-1)
to Unicode (iso10646-1) versions, but the fonts.alias file still
aliased the short font names ("7x14" and so on) to the iso8859-1 long
names. "6x13" worked because an iso8859-1 version was built into the X
server, and "fixed" worked because it was aliased to the iso8859-1 version
of "6x13".
Problem: When testing a Mac OS X application, if the program
crashes, OS X will throw up a "Do you want to reopen windows?" dialog on
every subsequent run of the program.
Solution: Delete the "~/Library/Saved Application
State/bundle-id" directory. Creating a file with the same
path may unfortunately does not prevent OS X from saving
state on future crashes.
Problem: When sending synthetic keyboard input events to an OS X
application using the NSApplication -[sendEvent:] method, key-down
events trigger a "Non-Unicode event without Carbon EventRef" exception.
Solution: Pass a non-NULL NSString object for the
characters and charactersIgnoringModifiers parameters
when creating the synthetic event with [NSEvent keyEventWithType].
Problem: Windows 8.1 reported a side-by-side assembly error when
trying to start an executable containing a handwritten application manifest.
The sxstrace tool only reported the contents of the
assemblyIdentity tag followed by the message "ERROR: Activation
Context generation failed."
Causes: (1) The supportedOS tag's attribute was
written as id instead of the correct Id (capital "I").
(2) The XML namespaces were not correctly set on the application
- windowsSettings - dpiAware tag hierarchy; in particular,
the documentation for the dpiAware tag is incorrect, with sample
code that reads
xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings"
when the correct namespace is
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings".
Problem: Building an Android NDK app using the Android 5.0 SDK
(platform android-21) and running the app on an Android 4.4 device
results in an error attempting to load the app's native code library.
Cause: Stupid design decision: the Android 5.0 libraries
deliberately break compatibility with previous versions of Android by
removing inline function definitions (see
https://code.google.com/p/android/issues/detail?id=73725).
Workaround: Build against android-19 and android-21, diff
the outputs of nm on the native code library for each build to
find which symbols have changed (or alternatively, write a short wrapper
program to dlopen() the native code library and print the return
value of dlerror()), and manually define the missing functions.
This is known to affect at least the following functions: atof,
isnan, rand, random, sigaddset,
sigdelset, sigemptyset, signal, srand,
srandom, strtof
Problem: Attempting to look up an OpenGL shader uniform with
glGetUniformLocation() failed even though the uniform was
correctly defined in the shader source code.
Cause: The uniform was unused in the shader, so the compiler
optimized it out and thus it was not assigned any storage location.
Problem: Compiling a C++ program using "placement new" syntax
with mingw32-gcc 4.9.2 resulted in "undefined reference to `operator
new(unsigned int, void*)'" errors at link time.
Cause: The source file in question lacked "#include
<new>". The compilation succeeded on Linux presumably because
some system header included <new> on its own, masking the
bug.
Problem: Detaching an OpenGL shader object from a shader program
object after successfully linking the shader program caused primitives
using that shader program to be randomly corrupted when drawing on a
Galaxy Nexus device with Android 4.2.2 using a PowerVR SGX 540 GPU. A
"checkerboard" sort of pattern was often seen, in which a solid rectangle
would have 16x16 pixels out of every 32x32 block missing.
Cause: Apparently a driver bug which requires the shader
objects to remain allocated while the shader program is in use.
Workaround: Leave shader objects attached to their programs
while the programs are in use. Deleting the shader objects ahead of time
allows the shader objects to be automatically cleaned up when the program
object is later deleted.
Problem: When MPlayer (version 1.2-pre20150214) is playing a
movie, muting the movie's audio affects all sound on the system.
Cause: MPlayer defaults to using the system volume settings
to control movie audio volume.
Solution: Pass the -softvol option on the command
line, or add softvol=true to the MPlayer configuration file
(~/.mplayer/config on Linux).
Problem: Attempting to start VMware Workstation 10.0.6 on Gentoo
Linux results in the vmware program aborting, sometimes with a
"free(): invalid pointer" error.
Cause: Two different versions of the OpenSSL libraries (libssl
and libcrypto) are being loaded: 1.0.1, shipped with VMware, and 1.0.2
(with library filenames ending in "1.0.0"), installed on the system.
Workaround: Copy /usr/lib/lib{ssl,crypto}.so.1.0.0
over the respective 1.0.1 libraries under /opt/vmware/lib/vmware/lib,
then edit the copied files and replace all occurrences of "1.0.0" with
"1.0.1".
Problem: Attempting to mount a Windows 8.1 partition in Linux
reports "Windows is hibernated, refused to mount" even though Windows was
shut down properly.
Cause: (from here)
Windows 8 has a "hybrid boot" feature that always hibernates kernel state
instead of fully shutting down, even when you select "reboot" or "shut
down" in Windows.
Solution: Run the command shutdown /s /t 0 in Windows.
Problem: Saving a spreadsheet in XLSX format using LibreOffice
4.4.5.2 causes any trailing spaces in cells containing text to be stripped
when the file is subsequently loaded in Microsoft Excel.
Cause: Excel uses an invalid XML attribute
(xml:space="preserve") on text string definitions (<t>
in xl/sharedStrings.xml) to indicate that trailing whitespace
should be preserved; LibreOffice does not write this attribute.
(Apparently this was fixed once in
bug
40067, and subsequently broken again as reflected in
bug
88137.)
Solution: Apply the patch at
http://cgit.freedesktop.org/libreoffice/core/commit/?id=3004221e47918eb08cfa98ba43a23a0b25412cd5
to the LibreOffice source, or wait for the 5.1 release.
Problem: How to disable System Integrity Protection ("rootless"
mode) on OS X 10.11?
Solution: Boot into recovery mode (Command-R at startup), then
run "csrutil disable" at the command line.
Problem: OS X 10.11 refuses to start up versions of Xcode prior
to 7.0.
Workaround: Create an Xcode5.app (for example)
directory in a convenient location, create the following shell script as
Xcode5.app/Contents/MacOS/Xcode5, and make it executable with
chmod a+x:
#!/bin/sh
exec /Applications/Xcode5.app/Contents/MacOS/Xcode ${1+"$@"}
The new Xcode5.app can then be opened in place of the original
application.
Problem: After upgrading the Linux NVIDIA driver from version
355.11 to version 358.09, X.org showed a black screen on startup,
reporting "Setting mode NULL" in the log file.
Cause: Version 358 of the driver requires a separate
nvidia-modeset module in addition to the main nvidia
module, and the invocation of modprobe by the X server failed
to load the module because I had not run depmod -a after
installing the new version of the driver.
Problem: In Seamonkey 2.35 through at least 2.39 on Linux, the
browser sporadically crashes for no apparent reason.
Analysis: A backtrace included a call to
mozilla::dom::Gamepad::Release() with an invalid pointer,
suggesting a memory corruption or use-after-free bug in the game
controller code.
Workaround: Open about:config and disable the
dom.gamepad.enabled preference. Doesn't seem to help; the
crashes occur in other locations as well, seemingly related to garbage
collection.
Further analysis: This appears to be unrelated memory
corruption caused by multithreaded use of the Cairo library; see
Gentoo bug
558150.
Workaround: Set the
layers.offmainthreadcomposition.enabled preference to false
in about:config (or user.js).
Problem: When linking an ELF executable using the ld
tool from the GNU binutils package with a custom linker script, the text
section alignment was set to 4 bytes despite the presence of an
ALIGN(0x40) command in the linker script.
Cause: The ALIGN command was placed before the
colon in the section description (".text ALIGN(0x40) : {...}"),
which causes the section's starting address to be aligned but does not
affect the alignment value written to the output file.
Solution: Moving the ALIGN command after the colon
(".text : ALIGN(0x40) {...}") caused the ELF section alignment
to be set to 64 bytes as intended.
Problem: iOS devices automatically download and prompt to install
new versions of iOS even if automatic downloading of updates is disabled in
the device settings.
Workaround: (from here)
Block the host mesu.apple.com on the DNS server used by the
device.
Problem: Attempting to run a cross-compiler on Gentoo Linux
gives the error "gcc-config: Could not get portage CHOST!".
Cause: The selected cross-compiler is set to a version
which has been uninstalled.
Solution: Run gcc-config to set a valid compiler
version for the cross-compiler.
Problem: Attempting to start the free trial version of Final
Fantasy XIV under Wine 1.9.5 fails.
Subproblem 1: The launcher displays a "system error (404)"
message and exits.
Solution 1: Just run the launcher again.
Subproblem 2: The launcher gets stuck at a black screen.
Solution 2: Edit the FFXIV_BOOT.cfg file in the
"My Games/FINAL FANTASY XIV - A Realm Reborn" subdirectory of the
Windows user's "My Documents" directory to set BrowserType to 2.
Problem: Attempting to play audio through the default ALSA
device (dmix) gives "File descriptor in bad state" (EBADFD)
errors. Audio plays normally when using the hardware device (hw:0,0)
directly.
Analysis: EBADFD is generated when the ALSA library
tries to open the hardware device. Instrumenting the library revealed
that it was passing O_APPEND to the open() call, and
attempting to open the device from a shell
(exec 3>>/dev/snd/pcmC0D0p) likewise gave EBADFD.
Solution?: Unknown, but after a few exec tests in the
shell, dmix playback started working again.
Further analysis: The dmix plugin passes O_APPEND
when another dmix instance is already present, as determined by checking a
shared-memory object with shmget(). It may be that some other
ALSA-using program died in a way that left the shared-memory object in a
bad state.
Solution: Remove the stale shared-memory object with these
shell commands:
echo 1 >/proc/sys/kernel/shm_rmid_forced
echo 0 >/proc/sys/kernel/shm_rmid_forced
Alternatively, echo 1 >/proc/sys/kernel/shm_rmid_forced in
a system startup script to automatically remove the shared-memory object as
soon as the last process detaches from it. Note, however, that this will
prevent all programs from storing persistent data in shared-memory objects.
Problem: Attempting to start Celestia on a Gentoo Linux system
with an NVIDIA graphics card causes the program to abort with these errors:
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
The program 'celestia' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadContext'.
(Details: serial 1813 error_code 167 request_code 153 minor_code 6)
Analysis: The program is attempting to load the software
OpenGL library (in /usr/lib) rather than the NVIDIA library
(in /usr/lib/opengl/nvidia/lib).
Cause: Unknown.
Workaround: LD_LIBRARY_PATH=/usr/lib/opengl/nvidia/lib celestia
Problem: Attempting to recompile PCSX2 1.3.1 via the Gentoo
Portage system with FEATURES="keepwork" and a pre-existing build
directory containing an incomplete build fails due to nonexistent output
directories for object files.
Cause: The CMake-based PCSX2 build system seems to create all
required output directories at the beginning of the build, but does not
check whether the directory still exists when actually compiling into it.
Portage, on the other hand, removes all empty directories as part of a
pre-clean phase before attempting to build a package, even with the
keepwork feature flag enabled.
Workaround: Apply noclean-fix.diff from
here, then add noclean to the
FEATURES variable when rebuilding from an existing directory.
Problem: PCSX2's "onepad" plugin fails to recognize any joystick
devices on Linux.
Cause: The onepad plugin calls SDL_Init() with the
SDL_INIT_HAPTIC flag, but SDL_Init() returns failure if
the library was not built with haptic support.
Problem: When moving the mouse pointer into an X11 window, the
entire screen goes black.
Cause: The window was opened using a DirectColor visual, but
the program did not set a colormap.
Solution: Use TrueColor instead of DirectColor.
Problem: Firefox/SeaMonkey refused to accept a particular string
as a bookmark keyword; typing the string into the keyword and switching
away from and back to the bookmark caused the keyword field to be cleared,
even though the keyword was not used by any other bookmarks.
Cause: The internal bookmarks/history ("places") database
had become desynchronized; the keyword was listed in the keyword table, so
it was rejected by the bookmark manager, but it had no associated bookmark
in the bookmark table.
Solution: Quit the browser, load the places.sqlite
file from the profile directory into the sqlite command-line tool,
and delete the offending keyword from the moz_keywords table with
an SQL command like:
DELETE FROM moz_keywords WHERE keyword='broken keyword';
Problem: Firefox/SeaMonkey on Gentoo Linux use a default filename
extension of ".htm" instead of ".html" when saving HTML pages.
Cause: The "htm" extension is listed first for the "text/html"
MIME type in /etc/mime.types.
Solution: Put "html" before "htm" in the extension list.
Problem: The zathura document viewer has an awkward default
window size.
Solution: Add these lines to ~/.config/zathura/zathurarc:
set window-width 800
set window-height 1000
Problem: The net.eth0 init script on Gentoo Linux
(openrc-0.21.3, netifrc-0.4.0) reports failure despite the interface
having been successfully configured. The script also needlessly waits
for 5 seconds to configure IPv6 addresses even though the interface's
IPv6 address is statically configured.
Solution: Rip out the bloated net.eth0 and replace
it with a simple script that just runs the appropriate ifconfig
and route commands. Optionally give the script a different name
to reduce the risk that a future openrc/netifrc update will overwrite it.
Problem: If Windows 10 starts trying to "automatically repair"
the system at boot time, there is no way to interrupt it.
Solution: Run the command bcdedit /set recoveryenabled NO
from a command prompt (requires administrator privileges). bcdedit
/set {default} bootmenupolicy legacy can also help by enabling the F8
boot menu.
Problem: MacOS Sierra (10.12) fails to install certificates
generated by OpenSSL 1.0.1, complaining of an invalid format. The same
certificates work fine in El Capitan (10.11).
Cause: The first element of the TBSCertificate sequence in the
problematic certificates is a version tag with the value set to 0 (v1), the
same as the default value for the field. This violates DER, and MacOS
10.12 rejects it.
Solution: Generate the certificates using OpenSSL 1.0.2 or
later.
Problem: The Linux Discord client is unable to start up due to
repeatedly attempting and failing to download an update.
Solution: Disable automatic updates by adding the following
entry to .config/discordcanary/settings.json:
"ALWAYS_ALLOW_UPDATES": false
It may also be necessary to delete any partially downloaded updates under
.config/discordcanary.
Problem: Closing the Discord window leaves the process running.
Solution: Press Ctrl+Q instead of closing the window.
Problem: Function calls whose return values are used in a branch
hint do not execute when compiled with the C compiler included in Microsoft
Visual Studio.
Cause: The MSVC compiler does not evaluate the expression
argument to __assume(), so if the expression includes a function
call, the call gets dropped.
Problem: On Windows, WM_CHAR messages sent to a Unicode
window have the high 8 bits of the character code (passed in wParam)
zeroed for characters above U+00FF.
Cause: The program was calling the ANSI versions of the
message processing functions (GetMessage(),
DispatchMessage(), DefWindowProc()) instead of the
Unicode versions.
Problem: How to create a raw CD image (BIN/CUE format) on Linux?
Solution: (as of cdrdao-1.2.3) cdrdao read-cd --datafile OUTFILE.bin --driver generic-mmc:0x20000 --device /dev/DEVICE --read-raw OUTFILE.toc; toc2cue OUTFILE.toc OUTFILE.cue
Problem: When running an OpenGL program on Windows with an Intel
HD Graphics 4000 GPU, the program will sometimes freeze for several seconds
at a time. The same program runs with no problems under Linux.
Cause: Calling glFinish() in certain GPU states
appears to stall the driver for several seconds. The precise trigger is
unknown.
Workaround: Do not call glFinish() in this
environment.
Problem: Twitter refuses (as of April 2018) to display content
when JavaScript is disabled.
Workaround: Add the following to the browser's user stylesheet
(userContent.css in Firefox/SeaMonkey):
.NoScriptForm { display: none !important; }
(As of February 2020, Twitter no longer works at all when JavaScript
is disabled.)
Problem: Attempting to mount large filesystems in Linux sometimes
fails with the error "EXT2-fs (device): error: not enough
memory" written to the kernel log.
Workaround: Clear the block cache with the command: echo 3 >/proc/sys/vm/drop_caches
Problem: adb devices does not list a USB-connected
Android device with USB debugging enabled.
Cause: Permissions were not set correctly on the device node
under /dev/bus/usb.
Problem: Attempting to upload to an Arduino Uno on Linux fails,
with the uploader program (avrdude) reporting
"ioctl("TIOCMSET"): Broken pipe".
Analysis: The kernel log reports:
cdc_acm 2-3.2:1.0: failed to set dtr/rts
followed by repeated occurrences of:
xhci_hcd 0000:00:14.0: WARN Cannot submit Set TR Deq Ptr
xhci_hcd 0000:00:14.0: A Set TR Deq Ptr command is pending.
Workaround: Unplugging and replugging the USB cable sometimes
fixes the problem.
Problem: iTunes 12.6.x (the
app-management-enabled
branch of iTunes) refuses to install on macOS 10.14.
Workaround: (1) Extract the iTunes application manually from the
package (iTunes.pkg) using xar -xf (the application
itself is stored in a gzipped cpio archive located at
iTunesX.pkg/Payload within the package), (2) disable System
Integrity Protection if enabled (csrutil disable from a
recovery mode shell), then (3) copy
Contents/Frameworks/iPodUpdater.framework from the iTunes 12.6
application into /Application/iTunes.app/Contents/Frameworks (the
iTunes 12.6 binary is hardcoded to look for the framework at that absolute
path, as described
here).
Problem: After mounting or reading from an optical disc device in
Linux, the drive's eject button no longer works.
Workaround: Use the eject command instead.
Problem: When using version 4.x of the FFmpeg library to stream
video to an RTMP destination using librtmp, the stream is occasionally
broken due to a write error.
Cause: librtmp reports a write failure due to receiving a
buffer smaller than the minimum RTMP packet size, which FFmpeg treats as
an EOF indication (error code AVERROR_EOF).
Analysis: The immediate caller of librtmp's write function
(RTMP_Write()) in FFmpeg is called from the buffered I/O code,
which splits packets into the size of the buffer, while librtmp itself
seems to expect entire packets to be written in a single call.
Solution: Use FFmpeg's built-in RTMP handler instead of
librtmp (don't pass --enable-librtmp to the configure
script, or build with USE=-librtmp on Gentoo Linux).
Problem: How to activate X11-style focus-follows-mouse behavior
in Windows 10 without also raising windows when the mouse moves over them?
Solution: (from winaero.com)
Set bit 0x01 in the first byte of the
HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask
registry value, then log out and back in again. This bit appears to
control focus-follows-mouse behavior, while bit 0x40 (also set by the
"Activate a window by hovering over it with the mouse" settings option)
appears to control whether a window is raised when made active in this way.
Note that making this change can prevent some types of dropdown-menu
input elements from working correctly.
Problem: Recent Linux versions (late 4.x through at least 5.3.6)
randomly disable USB devices (such as mice) with no warning.
Analysis: Kernel log messages indicate a problem communicating
with the xHCI host controller:
xhci_hcd 0000:2a:00.1: Mismatch between completed Set TR Deq Ptr command & xHCI internal state.
xhci_hcd 0000:2a:00.1: ep deq seg = 0000000009f426be, deq ptr = 0000000082835f90
xhci_hcd 0000:2a:00.1: xHCI host not responding to stop endpoint command.
xhci_hcd 0000:2a:00.1: xHCI host controller not responding, assume dead
xhci_hcd 0000:2a:00.1: HC died; cleaning up
Workaround: (from the
Arch Linux
forums) The controller can be re-enabled by temporarily unbinding it
from the driver using these commands:
echo xxxx:yy:zz.w >/sys/bus/pci/drivers/xhci_hcd/unbind
sleep 5
echo xxxx:yy:zz.w >/sys/bus/pci/drivers/xhci_hcd/bind
where xxxx:yy:zz.w is the PCI address of the host controller
given in the log message.
Problem: Kerbal Space Program 1.4.3 for Linux no longer starts
up, reporting a null dereference error. The game has worked without
trouble in the past.
Analysis: ~/.config/unity3d/Squad/Kerbal Space Program/Player.log
includes as part of the backtrace:
#6 0x...9090 in FMOD::Memory_DefaultFree(void*, unsigned int, char const*)
#7 0x...9200 in FMOD::OutputALSA::mixThreadCallback(void*)
#8 0x...9230 in FMOD::OutputALSA::mixThreadCallback(void*)
#9 0x...9270 in FMOD::OutputALSA::mixThreadCallback(void*)
#10 0x...9320 in FMOD::OutputALSA::getDriverNameCallback(FMOD_OUTPUT_STATE*, int, char*, int)
#11 0x...9400 in FMOD::SystemI::streamThread(void*)
suggesting a problem in the FMOD sound library. Web searches
suggest that an ABI change between ALSA versions 1.1.9 and 1.2.1 may be at
fault, and a system log check confirms that the local installation of ALSA
libraries was upgraded to 1.2.1 after the last successful run of the game.
Workaround: Downgrade the ALSA libraries to version 1.1.9 or
earlier, and possibly reboot the system to ensure that no processes are
using the 1.2.x libraries.
Problem: Mercurial 5.2.2 fails to recognize a tag name even
though the tag is listed with the correct node ID in .hgtags.
Cause: The .hg/cache/hgtagsfnodes1 cache file is
corrupt. (The cause of corruption is unknown; it may be due to a strip
operation.)
Solution: Remove .hg/cache/hgtagsfnodes1 and
.hg/cache/tags2-visible.
Problem: Recent versions of the Mozilla browser (Firefox/Seamonkey)
render with proper UI element sizes but tiny UI fonts on high-DPI displays,
even when web content itself is rendered with proper font sizes.
Workaround: (from forums.mozillazine.org)
Explicitly set the font size in chrome/userChrome.css under the
profile directory:
* {font-size: 9.5pt !important;}
This also requires creating a preference of boolean type named
toolkit.legacyUserProfileCustomizations.stylesheets (if it does
not already exist) and setting it to true.
Addendum: A similar problem exists with HTML form input
elements (<input> and <select>), which
can be fixed in userContent.css with something like:
input,select {font-size: 10pt;}
omitting the !important since this is only to change an
incorrect default, not to override per-site stylesheets.
Problem: Removing default Windows software (Photos, Skype, etc.)
with the PowerShell command suggested by various sources:
Get-AppxPackage -AllUsers name | Remove-AppxPackage
makes the program inaccessible (thus appearing to be uninstalled) but
leaves it installed in %ProgramFiles%\WindowsApps.
Solution: Add -AllUsers to the
Remove-AppxPackage command:
Get-AppxPackage -AllUsers name | Remove-AppxPackage -AllUsers
Problem: BIND occasionally logs errors of the form:
udp.c: unexpected error:
unable to convert libuv error code to isc_result: -38: function not implemented
Analysis: These appear to be generated when BIND attempts to
reply to an incoming query whose source UDP port is set to zero. The
sendmmsg() system call to send the response returns EINVAL
due to the invalid port number; libuv seems to report that as ENOSYS
(38), though the exact source of that error code is unclear. Observed
instances of these queries appeared to be cache poisoning attempts.
Workaround: Block incoming packets with source UDP port 0.
Problem: Mozilla
Firefox documentation does not specify how to set an explicit limit
on the size of data stored in local storage.
Solution: Set the about:config variable
dom.quotaManager.temporaryStorage.fixedLimit to the desired
limit in units of 1024 bytes.
Problem: After using the FFmpeg tool to switch the order of audio
tracks in a Matroska (.mkv) file previously also created with
FFmpeg, the second (formerly first) track is still played by default.
Cause: FFmpeg marks the first audio track as default when
creating a new Matroska file, and does not change existing flags when
remuxing from an existing file.
Solution: (from here)
Add the -disposition flag to the FFmpeg command line when remuxing
the source file:
ffmpeg ... -disposition:a:0 default -disposition:a:1 0 ...
or for already-remuxed files, use
mkvpropedit
to change the default flags manually:
mkvpropedit file.mkv --edit track:a1 --set flag-default=1 \
--edit track:a2 --set flag-default=0
Problem: Attempting to run the Gentoo Linux emerge tool
resulted in the error:
"/etc/portage/make.conf", line 42: Invalid token '-march' (not '=')
Cause: An edit to a preceding line in /etc/make.conf
had introduced an unbalanced double-quote character, causing emerge
to treat the (space-separated) contents of the CFLAGS variable as
separate tokens.
Problem: When viewing an HTML page on iOS Safari, certain
sequences of numbers and symbols are turned into telephone number links
even though those links are not present in the HTML itself.
Solution: Add this <meta> tag to the HTML
file's <head> section:
<meta name="format-detection" content="telephone=no">
Problem: When using various graphical applications on Linux under
a Japanese locale, English text is sometimes displayed using a Japanese
font rather than an English font.
Cause: The fontconfig library, used to dynamically
select fonts for text display, gives preference to fonts whose declared
language matches the requested language (which is typically taken from
the current locale) regardless of preferences specified in configuration
files.
Workaround: Add the following snippet, which tells
fontconfig to treat a requested language of Japanese as "no
language", to ~/.config/fontconfig/fonts.conf or
/etc/fonts/local.conf:
<match target="pattern">
<test name="lang"><string>ja</string></test>
<edit name="lang"><string></string></edit>
</match>
Problem: After upgrading the Bison parser generator to version
3.8, some programs using Bison to generate source code fail with an error
like "'yyn' was not declared in this scope".
Cause: Bison 3.8 renamed a variable in the parser skeleton.
Solution: Replace all uses of the name yyn with
yyrule.
Problem: How to create a backup image of a Mac APFS volume?
Solution: A raw image copy (as described in
this
blog post, for example) does not appear to work because the data is
encrypted at rest with a machine- and (apparently) device-specific key,
even with FileVault disabled. However, a full Time Machine backup onto an
empty device will faithfully copy the entire filesystem contents; the
contents can then be examined using tools such as
tmfuse. The Time Machine
settings panel does not include an obvious "full backup" option, but
selecting a backup device and then right-clicking it provides a "Back Up
Now" option in the context menu.
Problem: macOS does not offer a 4K (3840x2160) display resolution
option on a 4K monitor.
Solution: In the Display preferences panel, hold the Option
key while selecting the "Scaled" resolution radio button to get a full list
of resolution choices.
Problem: After upgrading an iPad to iOS 16, the Clock, Calendar,
Photos, and Reminders widgets get re-added to the home screen on every
reboot.
Workaround: Use the Reset menu in
Settings → General → Transfer or Reset iPad
to reset the home screen layout. This seems to prevent the bug from
recurring, but also requires recreating the desired home screen layout
from scratch. Alternatively, just delete those apps from the iPad (or in
the case of Photos, disable all options in Settings → Photos).
The workaround for the following problem may also work for this problem
but has not been tested.
Problem: After upgrading an iPad to iOS 16.4.1, the Clock,
Calendar, Photos, and Reminders widgets reappear on the first page of the
home screen if they have been removed and the iPad is idle on the home
screen for a minute or so.
Workaround: Create an extra home screen page and move the
widgets there; the widgets will persist on that page but won't be re-added
to the first page.
Problem: In the game Kerbal Space Program 1, RCS thrusters
sometimes do not fire when RCS controls are pressed, and fixed solar
panels sometimes do not generate energy even when in sunlight, displaying
the message "Blocked by aero shielding" in the part's popup window.
Possible cause: The thruster or solar panel may have
incorrectly been treated as inside a service bay and given the "shielded"
status.
Workaround: Open the service bay's door. (In some cases, the
service bay can be immediately closed again without re-triggering the bug.)
Problem: In Linux 5.13 and later, sound output using the built-in
HD Audio device on the MSI MPG X570 motherboard no longer works, with an
error message (visible in dmesg) reading "Cannot probe codecs,
giving up".
Cause: The kernel configuration setting MODPROBE_PATH
was set to the empty string, disabling module autoloading. (In Linux 5.12
and earlier, this was hardcoded to "/sbin/modprobe" and could not
be disabled at build time.)
Solution: Enable module autoloading by setting
MODPROBE_PATH to an appropriate value, or manually load the
required codec modules before loading the snd-hda-intel module.
Problem: After starting the Steam client several times, both
Steam and Discord fail to start up, and Firefox randomly crashes with a bus
error trying to write to memory mapped to a file in /dev/shm.
Cause: The Steam client leaks large amounts of data in
/dev/shm, eventually filling up that filesystem (see
https://github.com/ValveSoftware/steam-for-linux/issues/9233).
Workaround: rm /dev/shm/u{UID}-* after each
time the Steam client is closed (where {UID} is the numeric
user ID under which Steam is running).
Problem: How to create a Git clone of an existing Mercurial
repository?
Solution: With the hg-git
Mercurial extension installed:
$ cd /path/to/hg-repo
$ hg bookmark -r default main # required for "main" branch to be created
$ git init /path/to/git-repo
$ hg push file:///path/to/git-repo
The file:// scheme seems to be required for Mercurial to recognize
the directory as a Git repository. Subsequent commits to the Mercurial
repository can also be pushed to Git with the same hg push
command.
Problem: Firefox refuses to load a script file in the same
directory as the referencing HTML file when developing a web application.
Solution: (as seen on Stack Overflow)
Go to about:config and change the
security.fileuri.strict_origin_policy flag to false. Note the
security implications described in
CVE-2019-11730.
Problem: When programmatically changing the state of an HTML
checkbox in an onclick handler by preventing the default event
behavior and instead modifying the associated DOM element's checked
and indeterminate properties, the checkbox's appearance does not
change.
Solution: Perform the state change in the onchange
handler instead.
Problem: What is the syntax of SDL's
SDL_GAMECONTROLLERCONFIG environment variable?
Answer: (see SDL's SDL_PrivateParseGamepadConfigString() function in src/joystick/SDL_gamepad.c)
SDL_GAMECONTROLLERCONFIG = device-id "," name *("," (control / hint))
device-id = "03000000" vid-bswap pid-bswap ver-bswap ; for USB
vid-bswap = <hexadecimal of device's Vendor ID in 32 bits, low byte first>
pid-bswap = <hexadecimal of device's Product ID in 32 bits, low byte first>
ver-bswap = <hexadecimal of device's 32-bit version code, low byte first>
name = 1*NAMECHAR ; display name for device
NAMECHAR = <any character except NUL and ",">
control = control-specifier ":" input-specifier
control-specifier = [half-axis] control-name
control-name = axis-name / button-name
axis-name = "leftx" / "lefty" / "rightx" / "righty" /
"lefttrigger" / "righttrigger"
button-name = "a" / ; south of 4 face buttons
"b" / ; east of 4 face buttons
"x" / ; west of 4 face buttons
"y" / ; north of 4 face buttons
"back" / "guide" / "start" / "leftstick" /
"rightstick" / "leftshoulder" / "rightshoulder" /
"dpup" / "dpdown" / "dpleft" / "dpright" / "misc1" /
"paddle1" / "paddle2" / "paddle3" / "paddle4" / "touchpad"
input-specifier = [half-axis] input-desc [invert-axis]
input-desc = axis-desc / button-desc / hat-desc
axis-desc = "a" 1*DIGIT
button-desc = "b" 1*DIGIT
hat-desc = "h" DIGIT "." 1*DIGIT ; index followed by mask
half-axis = "+" / "-" ; indicates a range of 0-MAX or 0-MIN respectively
invert-axis = "~" ; indicates an inverted range of MAX-MIN
DIGIT = <any character in "0".."9">
hint = type-hint / face-hint / button-label-hint
type-hint = "type:" type-name
type-name = "unknown" / "standard" / "xbox360" / "xboxone" /
"ps3" / "ps4" / "ps5" /
"switchpro" / "joyconleft" / "joyconright" / "joyconpair"
; more may be added in the future, presumably
face-hint = "face:" face-name
face-name = "abxy" / ; Microsoft controller style
"bayx" / ; Nintendo controller style
"sony" ; Sony controller style
; does not affect mapping from control names to buttons
button-label-hint = "hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1"
; implies "face:bayx" and also swaps the
; control name pairs "a"/"b" and "x"/"y"
Note that SDL accepts space characters (but not other whitespace) around
some field separators but not all; for best compatibility, avoid using any
whitespace characters except in the display name field.
Problem: How to invert gamepad camera controls in World of
Warcraft?
Solution:
/console GamePadCameraPitchSpeed -1
/console GamePadCameraYawSpeed -1
Problem: Attempting to start a newly-compiled executable on
Windows 11 incurs a delay of 10 seconds or more.
Apparent cause: Windows Defender detects each recompile as a
new program and attempts to scan it for malware.
Workaround: Open Windows settings and go to "Privacy and
Security" → "Windows Security" → "Virus & threat protection"; under
"Virus & threat protection settings", click "Manage settings", and change
the "Tamper Protection" setting to Off (this is required for the following
change, which otherwise would not take effect). Then open the Local Group
Policy Editor (gpedit.msc), select the "Computer Configuration" →
"Administrative Templates" → "Windows Components" → "Microsoft Defender
Antivirus" → "Real-time Protection" → "Turn off real-time protection"
template, and change it to Enabled.
Additional notes: This workaround also fixed changed behavior
not showing up in a rebuilt executable, presumably because Windows was
using a scanned-and-cached older version of the executable file.
Problem: The fan device on a Panasonic CF-SR laptop (ACPI ID
INTC10A2) is not recognized by the ACPI fan driver (module
fan).
Analysis: The ACPI fan driver actually attaches to the
platform bus rather than the acpi bus, while the device
is not exposed to the platform bus because it is a child of the Embedded
Controller (EC) device PNP0C09.
Workaround: Patch the fan
driver to use the ACPI bus rather than the platform bus.
Caveat: While this allows the fan speed to be manually
increased, it does not allow the fan to be turned off completely. The
fan does stop after booting into Windows.
Problem: Attempting to write to a file owned by a non-root user
as root fails in recent versions of Linux.
Cause: Linux 4.19 added a
hack to block root
from writing to non-root-owned files in /tmp, purportedly as a
security feature (and in fairness, it prevents some attacks against poorly
written programs).
Solution: Add to /etc/sysctl.conf:
fs.protected_regular = 0
fs.protected_fifos = 0
Problem: Recent (since mid-2024?) versions of Steam for Linux
abort if the Steam user cannot create namespaces.
Workaround: In the Steam install tree (typically
$HOME/.local/share/Steam), replace
ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-check-requirements
with a copy of /bin/true. This naturally will not allow any
native Linux games which use namespace-based sandboxing to run, but
Windows games run under Wine (Proton) have no need of this functionality.
Problem: The utility programs distributed with the Mesa OpenGL
implementation (mesa-demos) try to link against libGLX,
but current (late 2024) Mesa does not install a libGLX.so.
Workaround: Create an empty file named libGLX.so in
the default system library directory (typically /usr/lib or
/usr/lib64). Note that this will trigger a harmless
"libGLX.so is empty, not checked" warning every time
ldconfig is run.