unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#21205: Error during redisplay: (jit-lock-function 3491)
@ 2015-08-07 10:43 张海君
  2015-08-07 12:54 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: 张海君 @ 2015-08-07 10:43 UTC (permalink / raw)
  To: 21205

[-- Attachment #1: Type: text/plain, Size: 2141 bytes --]

Emacs 24.5 on Linux.

Run emacs with "emacs -Q", and then eval the following code:
------------------------------------------------------------
(setq font-lock-maximum-decoration 2
	  jit-lock-defer-time 0.05)
(setq-default show-trailing-whitespace t)
------------------------------------------------------------

Then open the attached c file, and scroll down the buffer with key C-v C-v ... until the end of buffer.
Switch to the message buffer *Message*. There are some error message as the following:
------------------------------------------------------------------------------
Error during redisplay: (jit-lock-function 3102) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 4131) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 6206) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 7252) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 7757) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 8269) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 8790) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 9312) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 10383) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 10895) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 11403) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 12446) signaled (error "Invalid search bound (wrong side of point)")
Error during redisplay: (jit-lock-function 14009) signaled (error "Invalid search bound (wrong side of point)")
--------------------------------------------------------------------------------


[-- Attachment #2: platform.c --]
[-- Type: application/octet-stream, Size: 17933 bytes --]

/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2006, 07 MIPS Technologies, Inc.
 *   written by Ralf Baechle (ralf@linux-mips.org)
 *     written by Ralf Baechle <ralf@linux-mips.org>
 *
 * Copyright (C) 2008 Wind River Systems, Inc.
 *   updated by Tiejun Chen <tiejun.chen@windriver.com>
 *
 * 1. Probe driver for the SILAN SUV's UART ports:
 *
 * UART becoming ttyS0.
 
 * 2. Register DWAC MAC platform device on SILAN SUV.
 */
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h>
#include <linux/ioport.h>
#include <linux/fs.h>
#include <linux/file.h>
#include <linux/platform_device.h>
#include <linux/phy.h>
#include <linux/stmmac.h>
#include <linux/pmem.h>
#include <linux/interrupt.h>
#include <linux/mmc/silan_mmc.h>
#include <linux/i2c-gpio.h>

#include <silan_resources.h>
#include <silan_irq.h>
#include <silan_gpio.h>
#include <silan_nand.h>
#include <silan_def.h>
#include <silan_padmux.h>
#include <linux/amba/bus.h>
#include <linux/pwm_backlight.h>
#include <linux/timed_gpio.h>
#include <linux/leds.h>

#define SUV_I_BUS_CLK    74250000
#define SUV_II_BUS_CLK    36000000

static struct resource uart_pl011_resource[] =
{
    {
        .start  = SILAN_UART2_PHY_BASE,
        .end    = SILAN_UART2_PHY_BASE + SILAN_UART2_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = PIC_IRQ_UART2,
        .end    = PIC_IRQ_UART2,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_uart_device =
{
    .name            = "silan-uart2",
    //.name            = "uart-pl011",
    .id              = 0,
    .num_resources   = ARRAY_SIZE(uart_pl011_resource),
    .resource        = uart_pl011_resource,
};

static struct resource uart_uart3_resource[] =
{
    {
        .start  = SILAN_UART3_PHY_BASE,
        .end    = SILAN_UART3_PHY_BASE + SILAN_UART3_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = PIC_IRQ_UART3,
        .end    = PIC_IRQ_UART3,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_uart3_device = 
{
    .name            = "silan-uart3",
    .id                = 1,
    .num_resources    = ARRAY_SIZE(uart_uart3_resource),
    .resource        = uart_uart3_resource,
};

static struct resource uart_uart4_resource[] = 
{
    {
        .start  = SILAN_UART4_PHY_BASE,
        .end    = SILAN_UART4_PHY_BASE + SILAN_UART4_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = PIC_IRQ_UART4,
        .end    = PIC_IRQ_UART4,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_uart4_device = 
{
    .name            = "silan-uart4",
    .id                = 2,
    .num_resources    = ARRAY_SIZE(uart_uart4_resource),
    .resource        = uart_uart4_resource,
};

static int silan_phy_reset(void * priv) 
{
#if 0
    OUT_GPIO(3);
    SET_GPIO(3);
    udelay(1);
    CLR_GPIO(3);
    udelay(2);
    SET_GPIO(3);
#endif
    return 0;
}

static struct plat_stmmacphy_data phy_private_data = 
{
    .bus_id = 0,
    .phy_addr = -1,
    .phy_mask = 0,
    .interface = PHY_INTERFACE_MODE_MII,
    .phy_reset = &silan_phy_reset,
};

static struct resource silan_phy_resources[] = 
{
    [0] = {
        .name   = "phyirq",
        .start    = -1,    /* since we want to work on poll mode */
        .end    = -1,
        .flags    = IORESOURCE_IRQ,
    },
};
 
static struct platform_device silan_phy_device = 
{
    .name            = "stmmacphy",
    .id                = -1,
    .num_resources    = ARRAY_SIZE(silan_phy_resources),
    .resource        = silan_phy_resources,
    .dev = {
        .platform_data = &phy_private_data,
    }
};

static struct plat_stmmacenet_data mac_private_data = 
{
    .bus_id       = 0,
    .pbl          = 8,
    .has_gmac     = 1,
    .enh_desc     = 1,
    .tx_coe       = 1,
    .clk_csr      = 0,
    .bugged_jumbo = 0,
    .pmt          = 0,
};

static struct resource silan_mac_resources[] = 
{
    [0] = {
        .start    = SILAN_GMAC_PHY_BASE,
        .end      = SILAN_GMAC_PHY_BASE + SILAN_GMAC_SIZE,
        .flags    = IORESOURCE_MEM,
    },
    [1] = {
        .name   = "macirq",
        .start  = PIC_IRQ_GMAC,
        .end    = PIC_IRQ_GMAC,
        .flags  = IORESOURCE_IRQ,
    }
};

static struct platform_device silan_mac_device = 
{
    .name    = "stmmaceth",
    .id      = -1,
    .dev     = {
        .platform_data = &mac_private_data,
    },
    .num_resources    = ARRAY_SIZE(silan_mac_resources),
    .resource    = silan_mac_resources,
};

static struct resource silan_drm_resource[] = 
{
    {
        .start  = SILAN_DRM_DMA_PHY_BASE,
        .end    = SILAN_DRM_DMA_PHY_BASE + SILAN_DRM_DMA_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = SILAN_DRM_BUF_PHY_BASE,
        .end    = SILAN_DRM_BUF_PHY_BASE + SILAN_DRM_BUF_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = SILAN_DRM_CORE_PHY_BASE,
        .end    = SILAN_DRM_CORE_PHY_BASE + SILAN_DRM_CORE_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = PIC_IRQ_DRM,
        .end    = PIC_IRQ_DRM,
        .flags  = IORESOURCE_IRQ,
    },    
};

static struct platform_device silan_drm_device = 
{
    .name            = "silan-drm",
    .id              = -1,
    .num_resources   = ARRAY_SIZE(silan_drm_resource),
    .resource        = silan_drm_resource,
};

static struct resource silan_hostusb_resource[] = 
{
    [0] = {
        .start    = SILAN_HOSTUSB_PHY_BASE,
        .end    = SILAN_HOSTUSB_PHY_BASE + SILAN_HOSTUSB_SIZE,
        .flags    = IORESOURCE_MEM,
    },
    
    [1] = {
        .name   = "hostusb_irq",
        .start    = PIC_IRQ_USB_HOST,
        .end    = PIC_IRQ_USB_HOST,
        .flags    = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_hostusb_device = 
{
    .name            = "silan-hostusb",
    .id                = -1,
    .num_resources    = ARRAY_SIZE(silan_hostusb_resource),
    .resource        = silan_hostusb_resource,
};

static struct resource silan_otgusb_resource[] = 
{
    [0] = {
        .start  = SILAN_OTGUSB_PHY_BASE,
        .end    = SILAN_OTGUSB_PHY_BASE + SILAN_OTGUSB_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    
    [1] = {
        .name   = "otgusb_irq",
        .start  = PIC_IRQ_USB_OTG,
        .end    = PIC_IRQ_USB_OTG,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_otgusb_device = 
{
    .name           = "silan-otgusb",
    .id             = -1,
    .num_resources  = ARRAY_SIZE(silan_otgusb_resource),
    .resource       = silan_otgusb_resource,
};

static struct resource silan_i2c_resource[] = 
{
    [0] = {
        .start  = SILAN_I2C1_PHY_BASE,
        .end    = SILAN_I2C1_PHY_BASE + SILAN_I2C1_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    [1] = {
        .start  = PIC_IRQ_I2C1,
        .end    = PIC_IRQ_I2C1,
        .flags  = IORESOURCE_IRQ,
    },    
    [2] = {
        .start  = 1,
        .end    = 1,
        .flags  = IORESOURCE_DMA,
    },
    [3] = {
        .start  = 2,
        .end    = 2,
        .flags  = IORESOURCE_DMA,
    },
};

static struct platform_device silan_i2c_device = 
{
    .name           = "silan-i2c",
    .id             = -1,
    .num_resources  = ARRAY_SIZE(silan_i2c_resource),
    .resource       = silan_i2c_resource,
};

static struct resource silan_spi_resource[] = {
    [0] = {
        .start = SILAN_SPI_PHY_BASE,
        .end   = SILAN_SPI_PHY_BASE+SILAN_SPI_SIZE,
        .flags = IORESOURCE_MEM,
        },
};

static struct platform_device silan_spi_device ={
    .name          = "silan-spi",
    .id            = -1,
    .num_resources = ARRAY_SIZE(silan_spi_resource),
    .resource      = silan_spi_resource,
};

static struct resource silan_spi_ctrl_resource[] = {
    [0] = {
        .start = SILAN_SPI_CTRL_PHY_BASE,
        .end   = SILAN_SPI_CTRL_PHY_BASE+SILAN_SPI_CTRL_SIZE,
        .flags = IORESOURCE_MEM,
    },
};

static struct platform_device silan_spi_ctrl_device ={
    .name          = "silan-spictrl",
    .id            = -1,
    .num_resources = ARRAY_SIZE(silan_spi_ctrl_resource),
    .resource      = silan_spi_ctrl_resource,
};

static struct resource silan_rtc_resource[] = {
    [0] = {
        .start = SILAN_RTC_PHY_BASE,
        .end   = SILAN_RTC_PHY_BASE+SILAN_RTC_SIZE,
        .flags = IORESOURCE_MEM,
    },

    [1] = {
        .start  = PIC_IRQ_RTC,
        .end    = PIC_IRQ_RTC,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_rtc_device ={
    .name          = "silan-rtc",
    .id            = -1,
    .num_resources = ARRAY_SIZE(silan_rtc_resource),
    .resource      = silan_rtc_resource,
};

static struct resource silan_wtg_resource[] = {
    [0] = {
        .start = SILAN_WTG_PHY_BASE,
        .end   = SILAN_WTG_PHY_BASE+SILAN_WTG_SIZE,
        .flags = IORESOURCE_MEM,
    },
    
	[1] = {
        .start  = PIC_IRQ_WTG,
        .end    = PIC_IRQ_WTG,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_wtg_device ={
    .name          = "silan-watchdog",
    .id            = -1,
    .num_resources = ARRAY_SIZE(silan_wtg_resource),
    .resource      = silan_wtg_resource,
};

static struct resource silan_dsp_resource[] = {
    {
        .start = SILAN_DSPCFG_PHY_BASE,
        .end   = SILAN_DSPCFG_PHY_BASE + SILAN_DSPCFG_SIZE ,
        .flags = IORESOURCE_MEM,
    },
    {
        .start = SILAN_CXC_PHY_BASE,
        .end   = SILAN_CXC_PHY_BASE + SILAN_CXC_SIZE,
        .flags = IORESOURCE_MEM,
    },
    {
        .start = MIPS_DSP_CXC_IRQ,
        .end   = MIPS_DSP_CXC_IRQ,
        .flags = IORESOURCE_IRQ,
    }
};

static struct platform_device silan_dsp_device ={
    .name          = "silan-dsp",
    .id            = -1,
    .num_resources = ARRAY_SIZE(silan_dsp_resource),
    .resource      = silan_dsp_resource,
};

static struct resource silan_mmc_resource0[] = 
{
    [0] = {
        .start  = SILAN_SD_PHY_BASE,
        .end    = SILAN_SD_PHY_BASE + SILAN_SD_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    
    [1] = {
        .start  = PIC_IRQ_SDMMC,
        .end    = PIC_IRQ_SDMMC,
        .flags  = IORESOURCE_IRQ,
    }
};

static struct resource silan_mmc_resource1[] = 
{
    [0] = {
        .start  = SILAN_MMC_PHY_BASE,
        .end    = SILAN_MMC_PHY_BASE + SILAN_MMC_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    
    [1] = {
        .start  = PIC_IRQ_SDIO,
        .end    = PIC_IRQ_SDIO,
        .flags  = IORESOURCE_IRQ,
    }    
};

static struct dw_mci_board mmc_plat_data =
{
    .quirks = 0,
    //.bus_hz = 74250000,
    .bus_hz = SUV_II_BUS_CLK,
    .detect_delay_ms = 10,
    .num_slots = 1,
};

static struct platform_device silan_mmc_device0 = 
{
    .dev = {
        .platform_data = &mmc_plat_data,    
    },
    .name              = "silan-mmc0",
    .id                = 0,
    .num_resources     = ARRAY_SIZE(silan_mmc_resource0),
    .resource          = silan_mmc_resource0,
};

static struct platform_device silan_mmc_device1 = 
{
    .dev = {
        .platform_data = &mmc_plat_data,    
    },
    .name            = "silan-mmc1",
    .id              = 1,
    .num_resources   = ARRAY_SIZE(silan_mmc_resource1),
    .resource        = silan_mmc_resource1,
};

//GPIO1
static struct resource silan_gpio1_resource[] = 
{
    [0] = {
        .start    = SILAN_GPIO1_PHY_BASE,
        .end      = SILAN_GPIO1_PHY_BASE + SILAN_GPIO1_SIZE - 1,
        .flags    = IORESOURCE_MEM,
    },
    
    [1] = {
        .start    = PIC_IRQ_GPIO1,
        .end      = PIC_IRQ_GPIO1,
        .flags    = IORESOURCE_IRQ,
    }    
};

static struct pl061_platform_data gpio1_plat_data = 
{ 
    .gpio_base      = SILAN_GPIO1_BASENUM,
    .irq_base       = PIC_IRQ_GPIO1,
    .gpio_irqbase   = SILAN_GPIO1_IRQBASE,
    .gpio_num       = SILAN_GPIO1_GPIONUM,
    .padmux_gpio    = SILAN_PADMUX_END-1, 
};

static struct platform_device silan_gpio1_device = 
{
    .dev = { 
                .init_name = "gpio1",
                .platform_data = &gpio1_plat_data,
        },  
    .name            = "silan-gpio1",
    .id              = -1,
    .num_resources   = ARRAY_SIZE(silan_gpio1_resource),
    .resource        = silan_gpio1_resource,
};

//GPIO2
static struct resource silan_gpio2_resource[] = 
{
    [0] = {
        .start  = SILAN_GPIO2_PHY_BASE,
        .end    = SILAN_GPIO2_PHY_BASE + SILAN_GPIO2_SIZE - 1,
        .flags  = IORESOURCE_MEM,
    },
    
    [1] = {
        .start  = PIC_IRQ_GPIO2,
        .end    = PIC_IRQ_GPIO2,
        .flags  = IORESOURCE_IRQ,
    }    
};


static struct pl061_platform_data gpio2_plat_data = 
{ 
    .gpio_base      = SILAN_GPIO2_BASENUM,
    .irq_base       = PIC_IRQ_GPIO2,
    .gpio_irqbase   = SILAN_GPIO2_IRQBASE,
    .gpio_num       = SILAN_GPIO2_GPIONUM,
    .padmux_gpio    = SILAN_PADMUX_END-1,
};

static struct platform_device silan_gpio2_device = 
{
    .dev = { 
                .init_name = "gpio2",
                .platform_data = &gpio2_plat_data,
        },  
    .name            = "silan-gpio2",
    .id              = -1,
    .num_resources   = ARRAY_SIZE(silan_gpio2_resource),
    .resource        = silan_gpio2_resource,
};

static struct platform_device silan_testio_device = 
{
    .name   = "silan_testio",
    .id     = -1,
};

static struct platform_device silan_padmux_device = 
{
    .name   = "silan-padmux",
    .id     = -1,
};

#if defined(CONFIG_SND_SILAN_SOC) && !defined(CONFIG_SPI_SILAN_GPIO)
static struct platform_device silan_wmcodec_device = 
{
    .name            = "silan-wmcodec",
    .id                = -1,
};
#endif

static struct i2c_gpio_platform_data i2c_gpio_adapter_data = 
{
    .sda_pin = 32+12,
    .scl_pin = 32+11,
    .udelay  = 50,
    .timeout = 100,
    .sda_is_open_drain = 1,
    .scl_is_open_drain = 1,    
};

static struct platform_device silan_i2c_gpio = 
{
    .name = "i2c-gpio",
    .id = -1,
    .dev = {
        .platform_data = &i2c_gpio_adapter_data,
    },
};

static struct timed_gpio vibrator = 
{
    .name    = "vibrator",
    .gpio    = 61,
    .max_timeout = 10000,
    .active_low  = 0,
};

static struct timed_gpio_platform_data timed_gpio_data =
{
    .num_gpios =1,
    .gpios = &vibrator,
};

static struct platform_device silan_timed_gpio =
{    
    .name    = "timed-gpio",
    .id        = -1,
    .dev     = {
            .platform_data = &timed_gpio_data,
    },
};

static struct resource slinner_codec_resource[] = 
{
    {
        .start    = SILAN_CODEC_PHY_BASE,
        .end      = SILAN_CODEC_PHY_BASE + SILAN_CODEC_SIZE,
        .flags    = IORESOURCE_MEM,
    },
	{
        .start    = SILAN_CR_PHY_BASE,
        .end      = SILAN_CR_PHY_BASE + SILAN_CR_SIZE,
        .flags    = IORESOURCE_MEM,
    },
	{
        .start  = PIC_IRQ_CODEC,
        .end    = PIC_IRQ_CODEC,
        .flags  = IORESOURCE_IRQ,
    }    

};

static struct platform_device slinner_codec_device = 
{
    .name             = "silan-inner",
    .id               = -1,
    .num_resources    = ARRAY_SIZE(slinner_codec_resource),
    .resource         = slinner_codec_resource,
};

static struct platform_device silan_lcd = 
{
	.name = "silan-lcd",
	.id = -1,
};

static struct resource silan_adkey_resource[] =
{
    {
        .start  = SILAN_ADC_PHY_BASE,
        .end    = SILAN_ADC_PHY_BASE + SILAN_ADC_SIZE,
        .flags  = IORESOURCE_MEM,
    },
    {
        .start  = PIC_IRQ_ADC,
        .end    = PIC_IRQ_ADC,
        .flags  = IORESOURCE_IRQ,
    },
};

static struct platform_device silan_ad_keys =
{
	.name = "sl_ad-keys",
	.id = -1,
    .num_resources   = ARRAY_SIZE(silan_adkey_resource),
    .resource        = silan_adkey_resource,
};

static struct gpio_led gpio_leds[]={
	{
		.name = "system",
		.default_trigger = "timer",
		.gpio = 27,
		.active_low = 1,
		.default_state = LEDS_GPIO_DEFSTATE_OFF,
	},
	{
		.name = "test1",
		.default_trigger = "none",
		.gpio = 28,
		.active_low = 0,
		.default_state = LEDS_GPIO_DEFSTATE_OFF,
	},
	{
		.name = "test2",
		.default_trigger = "none",
		.gpio = 29,
		.active_low = 0,
		.default_state = LEDS_GPIO_DEFSTATE_OFF,
	},
};

static struct gpio_led_platform_data gpio_led_info = {
	.leds = gpio_leds,
	.num_leds = ARRAY_SIZE(gpio_leds),
};

static struct platform_device silan_leds = {
	.name = "leds-gpio",
	.id = -1,
	.dev = {
		.platform_data = &gpio_led_info,
	},

};

static struct platform_device *silan_devices[] __initdata = 
{
    &silan_uart_device,
    &silan_uart3_device,
    &silan_uart4_device,
    &silan_phy_device,    
    &silan_mac_device,    
    &silan_hostusb_device,
    &silan_otgusb_device,
    &silan_i2c_device,
    &silan_spi_device,
    //&silan_spi_ctrl_device,
    &silan_dsp_device,
    //&silan_mmc_device0,
    //&silan_mmc_device1,
    &silan_gpio1_device,    
    &silan_gpio2_device,
#ifdef CONFIG_SND_SILAN_SOC
    &silan_soc_dma,
	&slinner_codec_device,
    &silan_iis_device,
    &silan_spdif_device,
    &silan_spdcodec_device,
    &silan_spdif_in_device,
    &silan_wmcodec_device,
#endif
    &silan_testio_device,
    &silan_padmux_device,
    //&silan_pwm_device,
    //&silan_backlight,
    &silan_i2c_gpio,    
    &silan_timed_gpio,
    &silan_rtc_device,
    //&spi_silan_gpio_device,
    &silan_wtg_device,
    &silan_drm_device,
    //&silan_lcd,
    //&silan_ad_keys,
	&silan_leds,
};

static int __init silan_add_devices(void)
{
    int err;
#ifdef CONFIG_SILAN_DLNA_DMA
    int i;
#endif
    err = platform_add_devices(silan_devices, ARRAY_SIZE(silan_devices));
    if (err)
        return err;
    
#ifdef CONFIG_SILAN_DLNA_DMA
    for(i = 0; i < ARRAY_SIZE(silan_amba_devs); i++) {
        struct amba_device *d = silan_amba_devs[i];
        amba_device_register(d, &iomem_resource);
    }
#endif

    return 0;
}

device_initcall(silan_add_devices);


^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#21205: Error during redisplay: (jit-lock-function 3491)
  2015-08-07 10:43 bug#21205: Error during redisplay: (jit-lock-function 3491) 张海君
@ 2015-08-07 12:54 ` Eli Zaretskii
  2015-08-07 20:52   ` Alan Mackenzie
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2015-08-07 12:54 UTC (permalink / raw)
  To: 张海君, Alan Mackenzie; +Cc: 21205

> From: 张海君 <netjune@icloud.com>
> Date: Fri, 07 Aug 2015 18:43:54 +0800
> 
> Run emacs with "emacs -Q", and then eval the following code:
> ------------------------------------------------------------
> (setq font-lock-maximum-decoration 2
> 	  jit-lock-defer-time 0.05)
> (setq-default show-trailing-whitespace t)
> ------------------------------------------------------------
> 
> Then open the attached c file, and scroll down the buffer with key C-v C-v ... until the end of buffer.
> Switch to the message buffer *Message*. There are some error message as the following:
> ------------------------------------------------------------------------------
> Error during redisplay: (jit-lock-function 3102) signaled (error "Invalid search bound (wrong side of point)")

The errors are triggered by c-syntactic-re-search-forward.  Here's the
backtrace from the first such error, with the current master:

  #0  search_command (string=-9223372036754146592, bound=4611686018427389473,
      noerror=4274457416, count=0, direction=1, RE=1, posix=false)
      at search.c:1047
  #1  0x011cf1ed in Fre_search_forward (regexp=-9223372036754146592,
      bound=4611686018427389473, noerror=4274457416, count=0) at search.c:2245
  #2  0x0121c1a2 in Ffuncall (nargs=4, args=0x825428) at eval.c:2737
  #3  0x01276fd0 in exec_byte_code (bytestr=-9223372036753723160,
      vector=-6917529027611644184, maxdepth=4611686018427387913,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #4  0x0121d5ab in funcall_lambda (fun=-6917529027611643800, nargs=4,
      arg_vector=0x8259f0) at eval.c:2959
  #5  0x0121c633 in Ffuncall (nargs=5, args=0x8259e8) at eval.c:2775
  #6  0x01276fd0 in exec_byte_code (bytestr=-9223372036754145936,
      vector=-6917529027611456264, maxdepth=4611686018427387917,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #7  0x0121d5ab in funcall_lambda (fun=-6917529027612898016, nargs=3,
      arg_vector=0x825fd0) at eval.c:2959
  #8  0x0121c633 in Ffuncall (nargs=4, args=0x825fc8) at eval.c:2775
  #9  0x01276fd0 in exec_byte_code (bytestr=-9223372036753729256,
      vector=-6917529027611079432, maxdepth=4611686018427387909,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #10 0x0121d5ab in funcall_lambda (fun=-6917529027611079264, nargs=1,
      arg_vector=0x826570) at eval.c:2959
  #11 0x0121c633 in Ffuncall (nargs=2, args=0x826568) at eval.c:2775
  #12 0x01276fd0 in exec_byte_code (bytestr=-9223372036833489872,
      vector=-6917529027619795904, maxdepth=4611686018427387913,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #13 0x0121d5ab in funcall_lambda (fun=-6917529027619795968, nargs=3,
      arg_vector=0x826b30) at eval.c:2959
  #14 0x0121c633 in Ffuncall (nargs=4, args=0x826b28) at eval.c:2775
  #15 0x01276fd0 in exec_byte_code (bytestr=-9223372036833494416,
      vector=-6917529027619800448, maxdepth=4611686018427387909,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #16 0x0121d5ab in funcall_lambda (fun=-6917529027619800544, nargs=3,
      arg_vector=0x8270d0) at eval.c:2959
  #17 0x0121c633 in Ffuncall (nargs=4, args=0x8270c8) at eval.c:2775
  #18 0x01276fd0 in exec_byte_code (bytestr=-9223372036753541720,
      vector=-6917529027539731416, maxdepth=4611686018427387910,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #19 0x0121d5ab in funcall_lambda (fun=-6917529027539731280, nargs=3,
      arg_vector=0x827680) at eval.c:2959
  #20 0x0121c633 in Ffuncall (nargs=4, args=0x827678) at eval.c:2775
  #21 0x01276fd0 in exec_byte_code (bytestr=-9223372036833496152,
      vector=-6917529027619802184, maxdepth=4611686018427387908,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #22 0x0121d5ab in funcall_lambda (fun=-6917529027619802312, nargs=2,
      arg_vector=0x827c28) at eval.c:2959
  #23 0x0121c633 in Ffuncall (nargs=3, args=0x827c20) at eval.c:2775
  #24 0x01276fd0 in exec_byte_code (bytestr=-9223372036833477944,
      vector=-6917529027539145464, maxdepth=4611686018427387914,
      args_template=4611686018427388161, nargs=1, args=0x828410)
      at bytecode.c:919
  #25 0x0121cf63 in funcall_lambda (fun=-6917529027539145392, nargs=1,
      arg_vector=0x828408) at eval.c:2893
  #26 0x0121c633 in Ffuncall (nargs=2, args=0x828400) at eval.c:2775
  #27 0x0121b113 in run_hook_wrapped_funcall (nargs=2, args=0x828400)
      at eval.c:2452
  #28 0x0121b5aa in run_hook_with_args (nargs=2, args=0x828400,
      funcall=0x121b0cb <run_hook_wrapped_funcall>) at eval.c:2537
  #29 0x0121b162 in Frun_hook_wrapped (nargs=2, args=0x828400) at eval.c:2467
  #30 0x0121bf18 in Ffuncall (nargs=3, args=0x8283f8) at eval.c:2706
  #31 0x01276fd0 in exec_byte_code (bytestr=-9223372036833478056,
      vector=-6917529027619784088, maxdepth=4611686018427387923,
      args_template=4611686018427388418, nargs=2, args=0x828a20)
      at bytecode.c:919
  #32 0x0121cf63 in funcall_lambda (fun=-6917529027619784152, nargs=2,
      arg_vector=0x828a10) at eval.c:2893
  #33 0x0121c633 in Ffuncall (nargs=3, args=0x828a08) at eval.c:2775
  #34 0x01276fd0 in exec_byte_code (bytestr=-9223372036833477808,
      vector=-6917529027619783840, maxdepth=4611686018427387931,
      args_template=4611686018427388416, nargs=2, args=0x829048)
      at bytecode.c:919
  #35 0x0121cf63 in funcall_lambda (fun=-6917529027619783904, nargs=2,
      arg_vector=0x829038) at eval.c:2893
  #36 0x0121c633 in Ffuncall (nargs=3, args=0x829030) at eval.c:2775
  #37 0x01276fd0 in exec_byte_code (bytestr=-9223372036833478352,
      vector=-6917529027619784384, maxdepth=4611686018427387916,
      args_template=4611686018427388161, nargs=1, args=0x829660)
      at bytecode.c:919
  #38 0x0121cf63 in funcall_lambda (fun=-6917529027619784448, nargs=1,
      arg_vector=0x829658) at eval.c:2893
  #39 0x0121c633 in Ffuncall (nargs=2, args=0x829650) at eval.c:2775
  #40 0x01217416 in internal_condition_case_n (bfun=0x121bbde <Ffuncall>,
      nargs=2, args=0x829650, handlers=53088,
      hfun=0x1039405 <safe_eval_handler>) at eval.c:1438
  #41 0x0103965b in safe__call (inhibit_quit=false, nargs=2, func=4280165648,
      ap=0x829714 "") at xdisp.c:2508
  #42 0x010396f6 in safe_call (nargs=2, func=4280165648) at xdisp.c:2524
  #43 0x0103974a in safe_call1 (fn=4280165648, arg=4611686018427388947)
      at xdisp.c:2535
  #44 0x0103d8e5 in handle_fontified_prop (it=0x82a6d0) at xdisp.c:3749
  #45 0x0103c46d in handle_stop (it=0x82a6d0) at xdisp.c:3313
  #46 0x0104c2d3 in next_element_from_buffer (it=0x82a6d0) at xdisp.c:8153
  #47 0x01048afe in get_next_display_element (it=0x82a6d0) at xdisp.c:6805
  #48 0x0107b1c0 in display_line (it=0x82a6d0) at xdisp.c:20227
  #49 0x0106d191 in try_window (window=-6917529027612397280, pos=..., flags=1)
      at xdisp.c:16900
  #50 0x010691b7 in redisplay_window (window=-6917529027612397280,
      just_this_one_p=true) at xdisp.c:16373
  #51 0x01060000 in redisplay_window_1 (window=-6917529027612397280)
      at xdisp.c:14198
  #52 0x01217136 in internal_condition_case_1 (
      bfun=0x105ffa5 <redisplay_window_1>, arg=-6917529027612397280,
      handlers=-4611686018403211200, hfun=0x105fef5 <redisplay_window_error>)
      at eval.c:1380
  #53 0x0105ef9f in redisplay_internal () at xdisp.c:13841
  #54 0x0105f6f8 in redisplay_preserve_echo_area (from_where=2) at xdisp.c:14027
  #55 0x01011009 in Fredisplay (force=0) at dispnew.c:5785
  #56 0x0121c06d in Ffuncall (nargs=1, args=0x82dcb0) at eval.c:2726
  #57 0x01276fd0 in exec_byte_code (bytestr=-9223372036834414648,
      vector=-6917529027620720680, maxdepth=4611686018427387911,
      args_template=4611686018427388673, nargs=1, args=0x82e258)
      at bytecode.c:919
  #58 0x0121cf63 in funcall_lambda (fun=-6917529027620720744, nargs=1,
      arg_vector=0x82e250) at eval.c:2893
  #59 0x0121c633 in Ffuncall (nargs=2, args=0x82e248) at eval.c:2775
  #60 0x01276fd0 in exec_byte_code (bytestr=-9223372036833476664,
      vector=-6917529027619782696, maxdepth=4611686018427387916,
      args_template=4611686018427387904, nargs=0, args=0x82e9c8)
      at bytecode.c:919
  #61 0x0121cf63 in funcall_lambda (fun=-6917529027619782760, nargs=0,
      arg_vector=0x82e9c8) at eval.c:2893
  #62 0x0121c633 in Ffuncall (nargs=1, args=0x82e9c0) at eval.c:2775
  #63 0x0121a9f7 in Fapply (nargs=2, args=0x82e9c0) at eval.c:2297
  #64 0x0121bf18 in Ffuncall (nargs=3, args=0x82e9b8) at eval.c:2706
  #65 0x01276fd0 in exec_byte_code (bytestr=-9223372036833436560,
      vector=-6917529027619742592, maxdepth=4611686018427387911,
      args_template=0, nargs=0, args=0x0) at bytecode.c:919
  #66 0x0121d5ab in funcall_lambda (fun=-6917529027619742656, nargs=1,
      arg_vector=0x82ef68) at eval.c:2959
  #67 0x0121c633 in Ffuncall (nargs=2, args=0x82ef60) at eval.c:2775
  #68 0x0121b7cc in call1 (fn=54544, arg1=-6917529027539397488) at eval.c:2581
  #69 0x0115bc67 in timer_check_2 (timers=0, idle_timers=-4611686018325442896)
      at keyboard.c:4530
  #70 0x0115bde2 in timer_check () at keyboard.c:4597
  #71 0x0115900e in readable_events (flags=1) at keyboard.c:3432
  #72 0x01162caa in get_input_pending (flags=1) at keyboard.c:6815
  #73 0x0116cf95 in detect_input_pending_run_timers (do_display=true)
      at keyboard.c:9978
  #74 0x01287d94 in wait_reading_process_output (time_limit=30, nsecs=0,
      read_kbd=-1, do_display=true, wait_for_cell=0, wait_proc=0x0,
      just_wait_proc=0) at process.c:5013
  #75 0x01010ee8 in sit_for (timeout=4611686018427387934, reading=true,
      display_option=1) at dispnew.c:5756
  #76 0x01156016 in read_char (commandflag=1, map=-4611686018325436640,
      prev_event=0, used_mouse_menu=0x82f623, end_time=0x0) at keyboard.c:2779
  #77 0x0116a700 in read_key_sequence (keybuf=0x82f7c8, bufsize=30, prompt=0,
      dont_downcase_last=false, can_return_switch_frame=true,
      fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9161
  #78 0x011516a0 in command_loop_1 () at keyboard.c:1402
  #79 0x01216fd4 in internal_condition_case (bfun=0x11510b8 <command_loop_1>,
      handlers=20720, hfun=0x115039b <cmd_error>) at eval.c:1356
  #80 0x01150b5a in command_loop_2 (ignore=0) at keyboard.c:1134
  #81 0x01216031 in internal_catch (tag=55216, func=0x1150b1e <command_loop_2>,
      arg=0) at eval.c:1116
  #82 0x01150ad8 in command_loop () at keyboard.c:1113
  #83 0x0114fdb7 in recursive_edit_1 () at keyboard.c:723
  #84 0x01150074 in Frecursive_edit () at keyboard.c:794
  #85 0x0114d7fe in main (argc=2, argv=0xa427e0) at emacs.c:1629

  Lisp Backtrace:
  "re-search-forward" (0x825430)
  "c-syntactic-re-search-forward" (0x8259f0)
  "c-font-lock-declarators" (0x825fd0)
  0x1c9cda0 PVEC_COMPILED
  "font-lock-fontify-keywords-region" (0x826b30)
  "font-lock-default-fontify-region" (0x8270d0)
  "c-font-lock-fontify-region" (0x827680)
  "font-lock-fontify-region" (0x827c28)
  0x6136d50 PVEC_COMPILED
  "run-hook-wrapped" (0x828400)
  "jit-lock--run-functions" (0x828a10)
  "jit-lock-fontify-now" (0x829038)
  "jit-lock-function" (0x829658)
  "redisplay_internal (C function)" (0x0)
  "redisplay" (0x82dcb8)
  "sit-for" (0x82e250)
  "jit-lock-deferred-fontify" (0x82e9c8)
  "apply" (0x82e9c0)
  "timer-event-handler" (0x82ef68)
  (gdb) p n
  $1 = 1
  (gdb) p lim
  $2 = 1569
  (gdb) p PT
  $3 = 1611
  (gdb) up
  #1  0x011cf1ed in Fre_search_forward (regexp=-9223372036754146592,
      bound=4611686018427389473, noerror=4274457416, count=0) at search.c:2245
  2245      return search_command (regexp, bound, noerror, count, 1, 1, 0);
  (gdb) p regexp
  $4 = -9223372036754146592
  (gdb) xtype
  Lisp_String
  (gdb) xstring
  $5 = (struct Lisp_String *) 0x5ff7ae0
  "[;,{]"
  (gdb) p bound
  $6 = 4611686018427389473
  (gdb) xtype
  Lisp_Int0
  (gdb) xint
  $7 = 1569
  (gdb) p noerror
  $8 = 4274457416
  (gdb) xtype
  Lisp_Symbol
  (gdb) xsymbol
  $9 = (struct Lisp_Symbol *) 0x1785a30 <dumped_data+514096>
  "move"





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#21205: Error during redisplay: (jit-lock-function 3491)
  2015-08-07 12:54 ` Eli Zaretskii
@ 2015-08-07 20:52   ` Alan Mackenzie
  2015-08-10 14:43     ` 张海君
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Mackenzie @ 2015-08-07 20:52 UTC (permalink / raw)
  To: Eli Zaretskii, netjune; +Cc: 21205

Hello, Eli and Netjune.

On Fri, Aug 07, 2015 at 03:54:10PM +0300, Eli Zaretskii wrote:
> > From: 张海君 <netjune@icloud.com>
> > Date: Fri, 07 Aug 2015 18:43:54 +0800

> > Run emacs with "emacs -Q", and then eval the following code:
> > ------------------------------------------------------------
> > (setq font-lock-maximum-decoration 2
> > 	  jit-lock-defer-time 0.05)
> > (setq-default show-trailing-whitespace t)
> > ------------------------------------------------------------

> > Then open the attached c file, and scroll down the buffer with key C-v C-v ... until the end of buffer.
> > Switch to the message buffer *Message*. There are some error message as the following:
> > ------------------------------------------------------------------------------
> > Error during redisplay: (jit-lock-function 3102) signaled (error "Invalid search bound (wrong side of point)")

> The errors are triggered by c-syntactic-re-search-forward.  Here's the
> backtrace from the first such error, with the current master:

[ .... ]

>   Lisp Backtrace:
>   "re-search-forward" (0x825430)
>   "c-syntactic-re-search-forward" (0x8259f0)
>   "c-font-lock-declarators" (0x825fd0)
>   0x1c9cda0 PVEC_COMPILED
>   "font-lock-fontify-keywords-region" (0x826b30)
>   "font-lock-default-fontify-region" (0x8270d0)
>   "c-font-lock-fontify-region" (0x827680)
>   "font-lock-fontify-region" (0x827c28)

[ .... ]

Thanks for that, Eli!  It made it fairly easy to track down the bug,
which was simply failing to check if point had advanced too far at one
critical place in c-font-lock-declarators.

Netjune: would you please try out the following patch (it should apply
cleanly to the cc-fonts.el in ..../emacs-24.5/lisp/progmodes/), and
confirm that the bug has been fixed, or tell me what is still causing
problems.



diff -r 88b4140d56af cc-fonts.el
--- a/cc-fonts.el	Tue May 12 10:03:55 2015 +0000
+++ b/cc-fonts.el	Fri Aug 07 20:41:38 2015 +0000
@@ -1141,6 +1141,7 @@
 			     (looking-at "{"))
 			(c-safe (c-forward-sexp) t) ; over { .... }
 		      t)
+		    (< (point) limit)
 		    ;; FIXME: Should look for c-decl-end markers here;
 		    ;; we might go far into the following declarations
 		    ;; in e.g. ObjC mode (see e.g. methods-4.m).


Thanks for the bug report!

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#21205: Error during redisplay: (jit-lock-function 3491)
  2015-08-07 20:52   ` Alan Mackenzie
@ 2015-08-10 14:43     ` 张海君
  2015-08-10 17:27       ` Alan Mackenzie
  0 siblings, 1 reply; 5+ messages in thread
From: 张海君 @ 2015-08-10 14:43 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: 21205@debbugs.gnu.org

Yes, it is fixed. Thanks for your great work!

> 在 2015年8月8日,04:52,Alan Mackenzie <acm@muc.de> 写道:
> 
> Hello, Eli and Netjune.
> 
> On Fri, Aug 07, 2015 at 03:54:10PM +0300, Eli Zaretskii wrote:
>>> From: 张海君 <netjune@icloud.com>
>>> Date: Fri, 07 Aug 2015 18:43:54 +0800
> 
>>> Run emacs with "emacs -Q", and then eval the following code:
>>> ------------------------------------------------------------
>>> (setq font-lock-maximum-decoration 2
>>>      jit-lock-defer-time 0.05)
>>> (setq-default show-trailing-whitespace t)
>>> ------------------------------------------------------------
> 
>>> Then open the attached c file, and scroll down the buffer with key C-v C-v ... until the end of buffer.
>>> Switch to the message buffer *Message*. There are some error message as the following:
>>> ------------------------------------------------------------------------------
>>> Error during redisplay: (jit-lock-function 3102) signaled (error "Invalid search bound (wrong side of point)")
> 
>> The errors are triggered by c-syntactic-re-search-forward.  Here's the
>> backtrace from the first such error, with the current master:
> 
> [ .... ]
> 
>>  Lisp Backtrace:
>>  "re-search-forward" (0x825430)
>>  "c-syntactic-re-search-forward" (0x8259f0)
>>  "c-font-lock-declarators" (0x825fd0)
>>  0x1c9cda0 PVEC_COMPILED
>>  "font-lock-fontify-keywords-region" (0x826b30)
>>  "font-lock-default-fontify-region" (0x8270d0)
>>  "c-font-lock-fontify-region" (0x827680)
>>  "font-lock-fontify-region" (0x827c28)
> 
> [ .... ]
> 
> Thanks for that, Eli!  It made it fairly easy to track down the bug,
> which was simply failing to check if point had advanced too far at one
> critical place in c-font-lock-declarators.
> 
> Netjune: would you please try out the following patch (it should apply
> cleanly to the cc-fonts.el in ..../emacs-24.5/lisp/progmodes/), and
> confirm that the bug has been fixed, or tell me what is still causing
> problems.
> 
> 
> 
> diff -r 88b4140d56af cc-fonts.el
> --- a/cc-fonts.el    Tue May 12 10:03:55 2015 +0000
> +++ b/cc-fonts.el    Fri Aug 07 20:41:38 2015 +0000
> @@ -1141,6 +1141,7 @@
>                 (looking-at "{"))
>            (c-safe (c-forward-sexp) t) ; over { .... }
>              t)
> +            (< (point) limit)
>            ;; FIXME: Should look for c-decl-end markers here;
>            ;; we might go far into the following declarations
>            ;; in e.g. ObjC mode (see e.g. methods-4.m).
> 
> 
> Thanks for the bug report!
> 
> -- 
> Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#21205: Error during redisplay: (jit-lock-function 3491)
  2015-08-10 14:43     ` 张海君
@ 2015-08-10 17:27       ` Alan Mackenzie
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Mackenzie @ 2015-08-10 17:27 UTC (permalink / raw)
  To: 21205-done, 张海君

Bug fixed in master.

-- 
Alan Mackenzie (Nuremberg, Germany).





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-08-10 17:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-07 10:43 bug#21205: Error during redisplay: (jit-lock-function 3491) 张海君
2015-08-07 12:54 ` Eli Zaretskii
2015-08-07 20:52   ` Alan Mackenzie
2015-08-10 14:43     ` 张海君
2015-08-10 17:27       ` Alan Mackenzie

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).