#486 closed defect (fixed)
i8042 crashes for unknown reason
| Reported by: | Jiří Zárevúcky | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 0.6.0 |
| Component: | helenos/unspecified | Version: | mainline |
| Keywords: | Cc: | ||
| Blocker for: | Depends on: | ||
| See also: |
Description
I've stumbled upon this when trying to figure out why the GUI freezes for me, though I have no idea if it's related or what caused it. Screenshot attached.
Attachments (2)
Change History (10)
by , 13 years ago
| Attachment: | i8042_crash.png added |
|---|
comment:2 by , 13 years ago
Ideally build with line debugging information and include the disassembly.
comment:3 by , 13 years ago
Yes, of course. By the way, why is there no email when an attachment is added?
comment:4 by , 13 years ago
Applying the disassembly to the stacktrace printed at i8042 crash, the driver crashed here:
tls_alloc_variant_2()+0x15:
tcb->self = tcb;
f0a3: 89 00 mov %eax,(%eax)
while it was doing:
tls_alloc_variant_2()+0x15 __make_tls()+0x1a fibril_setup()+0x5 process_notification()+0x43 fibril_main()+0x19
comment:5 by , 13 years ago
Can it be that memalign() simply fails to allocate TLS data for the notification fibril?
size = ALIGN_UP(size, &_tls_alignment);
*data = memalign((uintptr_t) &_tls_alignment, sizeof(tcb_t) + size);
tcb = (tcb_t *) (*data + size);
tcb->self = tcb;
&_tls_alignment is 4 and 76 = 19 * 4, so memalign() must have returned NULL.
comment:8 by , 13 years ago
| Milestone: | → 0.5.1 |
|---|
Note:
See TracTickets
for help on using tickets.

screenshot of the crash info in kconsole