On 18.09.18 17:52, Heinrich Schuchardt wrote: > On 09/19/2018 01:12 AM, Alexander Graf wrote: >> >> >> On 17.09.18 15:44, Heinrich Schuchardt wrote: >>> On 09/16/2018 07:45 AM, Simon Glass wrote: >>>> Hi Heinrich, >>>> >>> >>> With https://patchwork.ozlabs.org/patch/965315/ we can see where the >>> problem occurs. The ConsoleSandbox seems to hang on the detection of the >>> console size (172*42 is the size of my console). This problem does not >>> occur when running the same interactively. >> >> I don't understand this. When I run u-boot with </dev/null it >> successfully times out and proceeds. >> >> >> Alex >> > > $ make mrproper && make sandbox_defconfig && make > $ ./u-boot -v -d u-boot.dtb -c 'bootefi selftest' > > leads to a segmentation fault. See output below. > > This is the segmentation fault that leads to OSError when running 'make > tests'. > > Best regards > > Heinrich Schuchardt > > U-Boot 2018.09-00269-ga2b22dffcb (Sep 19 2018 - 02:47:16 +0200) > > Model: sandbox > DRAM: 128 MiB > > Warning: host_lo MAC addresses don't match: > Address in ROM is f2:1a:c7:df:78:d4 > Address in environment is 00:00:11:22:33:44 > > Warning: host_enp2s0 MAC addresses don't match: > Address in ROM is f2:1a:c7:df:78:d4 > Address in environment is 00:00:11:22:33:45 > > Warning: host_wlp4s0 using MAC address from ROM > MMC: > In: cros-ec-keyb > Out: vidconsole > Err: vidconsole > Model: sandbox > SCSI: > Net: eth0: host_lo, eth1: host_enp2s0, eth2: host_wlp4s0, eth3: > eth@10002000 > Found 0 disks > Segmentation fault >
With this patch I no longer see the segfault. I'm not sure though why the calculated y value is so incredibly out of range (multiples of the overall screen height). diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c index 30086600fb..e95c06442f 100644 --- a/drivers/video/console_truetype.c +++ b/drivers/video/console_truetype.c @@ -248,6 +248,8 @@ static int console_truetype_putc_xy(struct udevice *dev, uint x, uint y, &xoff, &yoff); if (!data) return width_frac; + if ((y + height) >= vid_priv->ysize) + return -EAGAIN; /* Figure out where to write the character in the frame buffer */ bits = data; _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot