Opened 11 years ago

Closed 11 years ago

#515 closed defect (fixed)

Exception upon restarting FM/2 after system lock-up

Reported by: John Small Owned by: John Small
Priority: minor Milestone: Release_3.22
Component: fm/2 base Version: 3.21
Keywords: Cc: steve53@…

Description

With FM/2 running, my system locked up while trying to close Firefox. After rebooting my first attempt to start FM/2 resulted in an exception: 000.000 excputil.c 180 (1) Caught exception c0000005 in process 3d (61) thread 1 at Tue Feb 18 05:59:38 2014 Creating 003D_01.TRP

The trap file is attached.

Attachments (4)

003D_01.TRP (17.5 KB ) - added by John Small 11 years ago.
Trap file for Ticket #515
fm3.lst (21.8 KB ) - added by John Small 11 years ago.
List file for fm3.obj
initlst.zip (121.1 KB ) - added by John Small 11 years ago.
Zip containing the lIst file for init.obj
FM2ArcDir.zip (83.5 KB ) - added by John Small 11 years ago.
Zip with arcdirs to cause trap

Download all attachments as: .zip

Change History (9)

by John Small, 11 years ago

Attachment: 003D_01.TRP added

Trap file for Ticket #515

comment:1 by Steven Levine, 11 years ago

Cc: steve53@… added

I have to suspect something is seriously wrong with your fm/2 executables or your hardware. The trap appears to be at init.c:1680:

if (*argv[x] == '~' && !argv[x][1])

It's hard to imagine how this could trap unless the hardware or the executable is broken. My binaries do not match yours exactly because I build with a newer OpenWatcom. To check my analysis, do

wdis -l -s init.c

and find StartFM3 + 44 in the disassembly.

by John Small, 11 years ago

Attachment: fm3.lst added

List file for fm3.obj

by John Small, 11 years ago

Attachment: initlst.zip added

Zip containing the lIst file for init.obj

by John Small, 11 years ago

Attachment: FM2ArcDir.zip added

Zip with arcdirs to cause trap

comment:2 by John Small, 11 years ago

I believe I have found and fixed the cause of the trap. In order for others to test this, I have uploaded a zip file, fm2arcdir.zip.

To recreate the trap: 1) Unzip fm2arcdir.zip into your %TMP% directory. It will create a subtree of FM/2 temporary dirs (used when processing achives). 2) Start FM/2 using a recent code base, but not one that includes the commit I will soon be making to init.c. It should trap.

To test the fix 1) Update init.c 2) Build a new FM/2 3) Install the new FM/2 4) Unzip fm2arcdir.zip into your %tmp% directory 5) Start FM/2 It should run without trapping. (If not, let me know!!

comment:3 by Gregg Young, 11 years ago

Milestone: Release_3.22

comment:4 by Gregg Young, 11 years ago

Owner: set to John Small

comment:5 by John Small, 11 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.