i3 / i3

A tiling window manager for X11
https://i3wm.org/
BSD 3-Clause "New" or "Revised" License
9.5k stars 780 forks source link

I3 crash on some message commands #3825

Closed Chimrod closed 4 years ago

Chimrod commented 5 years ago

I'm submitting a

[x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)

Current Behavior

I'm running a script which automaticaly arrange the containers following some specific rules. The commands given to ipc looks like :

[con_id=94800575960816] focus,move left;[con_id=94800576165168] focus,split vertical;[con_id=94800575774320] focus,move up;[con_id=94800575924928] focus,split horizontal;[con_id=94800575773856] focus,split horizontal;

Reproduction Instructions

This seems to crash with an interraction with fullscreen windows. I'm trying to identify the exact way it occurs.

Environment

Output of i3 --moreversion 2>&-:

Binary i3 version:  4.17-191-g5f549714 (2019-10-11, branch "next") © 2009 Michael Stapelberg and contributors
Running i3 version: 4.17-191-g5f549714 (2019-10-11, branch "next") (pid 17861)


Logfile URL: https://logs.i3wm.org/logs/5756860036546560.bz2
- Linux Distribution & Version:
- Are you using a compositor (e.g., xcompmgr or compton): compton

Here is the workspace tree just before the crash

before gv

Chimrod commented 5 years ago

Here is a stacktrace from a bug : (not the same as the one in the log, but in the same conditions)

i3-backtrace.17861.0.txt

orestisfl commented 5 years ago

Backtrace seems to be in calloc, i3 exits with SIGABORT:

https://stackoverflow.com/questions/14897157/what-does-corrupted-double-linked-list-mean https://stackoverflow.com/questions/3413166/when-does-a-process-get-sigabrt-signal-6

What is your script doing?

Chimrod commented 5 years ago

I'm trying to make i3 act as a dynamic tiling WM, and automaticaly rearange the workspace tree when a new window is created.

It operate by :

It preprocess the tree, then create a command throught ipc in order to reorganize all the windows. All the operations are chained in a single command.

I see this error in the backtrace :

#8  0x00007f77d41c6c1a in malloc_printerr (str=str@entry=0x7f77d42c9393 "corrupted double-linked list") at malloc.c:5341
#9  0x00007f77d41ca231 in _int_malloc (av=av@entry=0x7f77d4302c40 <main_arena>, bytes=bytes@entry=448) at malloc.c:3931

The only one commands sent are the one I've given in example :

orestisfl commented 5 years ago

Can you share the script?